http://localhost:56472/test.
抛出丑陋的黄色ASP.NET错误消息 - The Resource Cannot be Found
。
如何捕获此请求和
我在Global.asax
:
protected void Application_Error(object sender, EventArgs e) {
// Do whatever you want to do with the error
}
但错误并未被发现。这里捕获了正常的404,我成功地重定向到我的自定义错误页面。
我正在部署到Azure PaaS,因此对IIS没有太多精细控制。
更新:我尝试重写:
<rule name="Strip Periods" stopProcessing="true">
<match url="^(.*[^.])(\.+)$" />
<conditions trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^site.com$" />
</conditions>
<action type="Redirect" url="{MapProtocol:{HTTPS}}://www.site.com/{R:1}" />
</rule>
答案 0 :(得分:2)
您需要两个步骤才能执行此操作。首先,处理重定向的重写规则:
<rule name="RemoveTrailingDot" stopProcessing="true">
<match url="(.*)\.+$" />
<action type="Redirect" url="{R:1}" />
</rule>
其次,以下指令(在this related answer中找到)
<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true"/>
</system.web>
对相关答案的评论表明它并不总是有效,但它在Windows 10上的IIS上工作。