当 URL 中包含句点的哈希值 (#) 时,IIS 将重定向到 404 错误页面
Posted
技术标签:
【中文标题】当 URL 中包含句点的哈希值 (#) 时,IIS 将重定向到 404 错误页面【英文标题】:IIS is Redirecting to a 404 Error Page When There is a Hash Value (#) in the URL That Includes a Period 【发布时间】:2013-05-01 03:00:35 【问题描述】:我遇到了一些我似乎无法弄清楚的行为。一些用户通知我 tumblr 网址不适用于我的网站。
Tumblr 正在添加一个井号 (#) 以及一些包含句点的随机字符。
Tumblr 为我的网站生成的 URL 示例如下所示: http://www.killsometime.com/videos/10747/First-Time-News-Anchor-Fail#i0OJ0Uc752hQkZHO.18
网站上的实际网址是: http://www.killsometime.com/videos/10747/First-Time-News-Anchor-Fail
您可以看到 tumblr 正在添加一个带有句点的哈希值。您可以使用该 url 来测试我所说的行为。
IIS 对这些值感到窒息。它正确加载页面,然后立即重定向到 404 错误。
在我的 web.config 中,我有以下设置来允许句点:
<httpRuntime targetFramework="4.5" relaxedUrlToFileSystemMapping="true" />
这是我的路线。
routes.MapRoute(
name: "Video",
url: "videos/MediaID/MediaTitle",
defaults: new controller = "Videos", action = "Video", MediaID = "", MediaTitle = "" ,
constraints: new MediaID = @"\d+"
);
我正在为此绞尽脑汁。任何帮助将不胜感激!
谢谢!
【问题讨论】:
与那个时期有关。仍然不确定发生了什么。 会不会和我的路线有关? 【参考方案1】:我发现了问题。它与IIS无关。我正在运行一个不再受支持的非常旧版本的 jquery.history。
【讨论】:
以上是关于当 URL 中包含句点的哈希值 (#) 时,IIS 将重定向到 404 错误页面的主要内容,如果未能解决你的问题,请参考以下文章
当JSON对象URL字段在android studio中包含多个URL时,如何存储来自JSON对象请求的URL?
Gradle 脚本自动版本并在 Android 中包含提交哈希