当URL中的哈希值(#)包含句号时,IIS将重定向到404错误页面

本文关键字:重定向 IIS 错误 URL 哈希值 包含句 | 更新日期: 2023-09-27 18:11:40

我遇到了一些我似乎无法理解的行为。一些用户通知我,tumblr的网址不能访问我的网站。

Tumblr正在添加一个散列(#)和一些随机字符,其中包括一个句号。

Tumblr为我的网站生成的URL示例如下:http://www.killsometime.com/videos/10747/First-Time-News-Anchor-Fail i0OJ0Uc752hQkZHO.18

网站上的实际URL是:http://www.killsometime.com/videos/10747/First-Time-News-Anchor-Fail

你可以看到tumblr正在添加一个混合了句号的哈希值。您可以使用该url来测试我所说的行为。

IIS阻塞了这些值。它正确加载页面,然后立即重定向到404错误。

在我的网上。我有以下设置来允许句号:

<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+" }
        );
我在绞尽脑汁地想这个问题。任何帮助将不胜感激!

谢谢!

当URL中的哈希值(#)包含句号时,IIS将重定向到404错误页面

我发现了这个问题。它与IIS无关。我当时运行的是一个非常旧的jquery版本。不再被支持的历史。