首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何阻止IIS解码URL

如何阻止IIS解码URL
EN

Stack Overflow用户
提问于 2014-01-29 02:07:29
回答 1查看 5.8K关注 0票数 8

我用的是Windows7,IIS7.5,.NET 4.5。

(对于Windows8、IIS8.5、.NET 4.5,这是可行的)。

使用URL执行GET请求:

代码语言:javascript
复制
http://my.host/api1/MyEntity('%2311282')

问题是,当它到达服务器端代码时,%23字符已经被解码为'#‘,并且Uri对象认为它是一个片段字符。Win8计算机收到字符%23未被触及的url。

尝试:

1)使用此配置设置

代码语言:javascript
复制
<httpRuntime targetFramework="4.5" relaxedUrlToFileSystemMapping="true" />

2)在URL末尾添加'/‘

代码语言:javascript
复制
http://my.host/api1/MyEntity('%2311282')/

3)卸载url rewrite 2模块,然后重新安装。我还尝试在web.config中注释模块的重写部分。

为什么我想要复制windows8的行为--而不是解码URL。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-02-01 03:22:16

看一看重写模块。

一些信息here:保留原始URL

URL重写模块将原始请求的URL路径保留在以下服务器变量中:

HTTP_X_ORIGINAL_URL -此服务器变量包含解码格式的原始URL;UNENCODED_URL -此服务器变量包含与客户端请求的原始URL完全相同的原始URL,并保留所有原始编码。

希望这能有所帮助。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21413393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档