我遇到一个网站问题,当人们输入地址栏或链接到www.domain.com格式的文档时。这会产生HTTP 400 Bad请求。
最初我以为我可以添加一个HTTP模块来检查所有请求,如果域名(www.domain.com。)以句号结束,则重定向到它而不会结束句号。
我还尝试过使用IIS重写规则来检查网址是否为空或只有初始句点。
如果我的网址完全停止,这些解决方案可以正常工作,但我的问题是我将地址添加为www.domain.com。它没有到达HTTP模块甚至达不到IIS重写规则。
查看"无法找到资源。"当有一个" dot"在网址的末尾 - Stack Overflow给了我一些其他解决方案,我已经尝试了但是当它的格式错误的域名www.domain.com时。它没有达到 protected void Application_PreSendRequestHeaders(object sender,EventArgs e)function。
还有一篇文章,我读到说我可以挂钩到一个出站规则并匹配一个400标题,但它再也没有达到这里,而.NET决定它的格式错误。
有很多文章解释如何绕过以句号结尾的网址,但不是任何网站格式错误的网站www.domain.com。
任何帮助将不胜感激
答案 0 :(得分:0)
您可能需要启用runAllManagedModulesForAllRequests
才能实现此目的:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
如果没有这个,模块将只运行它识别的文件扩展名。