我在web.config中添加了以下代码
<system.webserver>
<httperrors errormode="Custom" existingresponse="Replace">
<remove statuscode="404"/>
<remove statuscode="403"/>
<error statuscode="403" responsemode="Redirect" path="Error/ErrorMessage.html"/>
<error statuscode="404" responsemode="Redirect" path="Error/ErrorMessage.html"/>
</httperrors>
<defaultdocument enabled="false"/>
</system.webserver>
现在当我输入网址时说&#34; http://localhost:10335/test&#34;它正确地重定向到ErrorMessage.html页面
但是当我在测试后输入尾随斜线时说&#34; test /&#34;它正在重定向到url &#34; http://localhost:10335/test/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/Error/ErrorMessage.html&#34;说&#34;页面没有正确重定向&#34;
请帮帮我。感谢
答案 0 :(得分:0)
尝试在错误之前加上斜杠,即:
<error statuscode="403" responsemode="Redirect" path="/Error/ErrorMessage.html"/>
<error statuscode="404" responsemode="Redirect" path="/Error/ErrorMessage.html"/>
答案 1 :(得分:0)
您需要将路径前面的/放在error.html文件中,因为您必须获取HTTP错误404.20 - Not Found,这会创建不需要的URL 没有默认文档。重现问题后,以下设置应该有效:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404"/>
<remove statusCode="403"/>
<error statusCode="403" responseMode="Redirect" path="/Error/Error.html"/>
<error statusCode="404" responseMode="Redirect" path="/Error/Error.html"/>
</httpErrors>
<defaultDocument enabled="false"/>