【问题标题】:Dealing with full stop at the end of the domain www.domain.com处理以域名结尾的句号 www.domain.com
【发布时间】:2016-09-17 18:06:17
【问题描述】:

当人们在地址栏输入或链接到格式为 www.domain.com 的文档时,我遇到了一个网站问题。这会产生一个 HTTP 400 错误请求。

最初我以为我可以添加一个 HTTP 模块来检查所有请求,如果域 (www.domain.com.) 以句号结尾,则重定向到它而不使用结尾句号。

我也尝试过使用 IIS 重写规则来检查 URL 是空的还是只有一个初始句号。

如果我的 URL 以句号结尾,这些解决方案可以正常工作,但我的问题是当我将地址添加为 www.domain.com 时。它没有到达 HTTP 模块,甚至没有到达 IIS 重写规则。

正在查看“找不到资源”。当 url 末尾有一个“点”时出错 - Stack Overflow 给了我一些我尝试过的其他解决方案,但是当它的域 www.domain.com 格式错误时再次出现。它没有达到 protected void Application_PreSendRequestHeaders(object sender, EventArgs e) 函数。

我还阅读了一篇文章,说我可以连接到出站规则并匹配 400 标头,但它又没有到达这里,因为 .NET 决定其格式错误。

有很多文章解释了如何绕过以句号结尾的网址,但没有任何文章具有格式错误的域 www.domain.com。

任何帮助将不胜感激

【问题讨论】:

    标签: .net redirect mod-rewrite iis


    【解决方案1】:

    您可能需要启用runAllManagedModulesForAllRequests 才能使其工作:

    <system.webServer>
      <modules runAllManagedModulesForAllRequests="true" />
    </system.webServer>
    

    没有这个,模块将只针对它识别的文件扩展名运行。

    【讨论】:

      猜你喜欢
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 2020-02-16
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      相关资源
      最近更新 更多