现在我在我开发的网站上有问题。如果用户在 URL 的末尾键入一个点序列(超过 2 个),他将从 IIS 获得默认的 404 响应。但我希望这种情况由 ASP.Net 代码处理。我正在尝试将我的 IIS 配置为允许此序列,但我没有成功。我不明白我做错了什么。为此,我在 web.config 文件中添加下一行(这里我使用 3 个点仅用于测试):
<system.webServer>
...
<security>
<requestFiltering>
<alwaysAllowedQueryStrings>
<add queryString="\..." />
</alwaysAllowedQueryStrings>
</requestFiltering>
</security>
</system.webServer>
在 Visual Studio 节点中,由蓝色波浪线标记为无效的alwaysAllowedQueryStrings 。VS 显示以下消息:“元素 'requestFiltering' 有一个无效的子元素 'alwaysAllowedQueryStrings'。预期的可能元素列表:'fileExtensions、requestLimits、verbs、hiddenSegments、denyUrlSequences'”。所以似乎 IIS 或 VS 不知道这种类型的节点。但下一个链接:
http ://www.iis.net/configreference/system.webserver/security/requestfiltering/alwaysallowedquerystrings 说“alwaysAllowedQueryStrings”是 IIS 7.5 的默认功能,在服务器上我有 IIS 7.5.7600.16385。
我试图重新安装 IIS 的请求过滤功能,但不幸的是没有任何改变。
请分享您的想法,为什么它对我不起作用。