我在web.config中指定了自定义错误页面,如此
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="/Error.html" />
</system.web>
自定义错误页面及其内容正确显示。但是当网址以斜杠结尾时,会显示错误页面内容并且无法正确显示。
例如:
www.abc.com/product - &gt;错误页面内容正确显示
www.abc.com/product/ - &gt;错误页面内容未正确显示
提前致谢。
编辑:
当网址以&#34; /&#34;以外的任何其他特殊字符结尾时,网址会正确地重定向到Error.html,但网址以&#34; /&#34;结尾被视为项目文件夹,因此错误页面无法正确显示。如果我错了,请纠正我。 任何建议。
答案 0 :(得分:1)
试试这个:
<customErrors mode="On" defaultRedirect="Error"></customErrors>
并在您的视图中显示 - &gt;共享文件夹名为“Error.cshtml”的视图
在View Error.cshtml中,在顶部添加以下行:
@model System.Web.Mvc.HandleErrorInfo
...your code.....
希望这会有所帮助
答案 1 :(得分:1)
当用户尝试浏览目录时,您希望重定向到错误页面。这通常是由服务器处理的HTTP错误,它是在ASP.NET处理之外处理的。
如果您使用的是IIS7 +,那么您可以从How to disable Directory Browse in Web.Config和Asp.net - Web.Config - Custom Errors
一起采用这些解决方案根据您的情况,您希望web.config
中的阻止类似于:
<system.webServer>
<directoryBrowse enabled="false" />
<httpErrors errorMode="Custom">
<remove statusCode="403"/>
<error statusCode="403" path="~/Error.aspx" responseMode="Redirect"/>
</httpErrors>
</system.webServer>