Jon*_*Jon 10 asp.net iis iis-6
我正在研究IIS6,ASP.NET,VS2008.该网站使用自定义错误处理程序来捕获404错误并提供备用页面.当提供以下形式的网址时:
一切都很完美.但形式的网址:
如果blog.aspx不存在,则失败并显示以下消息:
'/ Crimson'应用程序中的服务器错误.描述:HTTP 404 ......
当我尝试调试时,我的404处理程序中没有任何断点被命中.所以似乎有些事情正在赶上请求.哪里?以及如何让它将请求传递给我的处理程序?
编辑 感谢那些回答的人,但这些想法都没有奏效.我决定以另一种方式解决这个问题.
Roe*_*aar 10
你可能想试试这个:
在IIS6中:
编辑
那么这个:http: //msdn.microsoft.com/en-us/library/h0hfz6fc(VS.80).aspx
<customErrors defaultRedirect="sorry.htm" mode="On">
<error statusCode="404" redirect="NotFound.aspx"/>
</customErrors>
Run Code Online (Sandbox Code Playgroud)
由于"RemoteOnly"指定仅向远程客户端显示自定义错误,并且向本地主机显示ASP.NET错误.
嗯,Assaf是对的,但为了补充他的答案,我需要发布一些代码.
是的,Assaf确实意味着ASP.NET提供了自己的错误处理,通过web.config配置.您可以通过IIS Admin管理单元或直接在web.config文件中进行管理.
在<system.web>元素中,您应该具有:
<customErrors defaultRedirect="sorry.htm" mode="RemoteOnly">
<error statusCode="404" redirect="NotFound.aspx"/>
</customErrors>
Run Code Online (Sandbox Code Playgroud)
您可以为每个HTTP错误代码配置不同的页面,或者让默认重定向处理它们.
你会发现,你确实需要在设置了这些错误页面都在IIS自定义错误和ASP.NET配置,否则你会在这种情况下结束-一些网页去你的404,和其他人使用默认您没有自定义.
您还应确保自定义404页面实际返回404标头,以确保搜索引擎等正确对待它.
Response.StatusCode = 404;
Response.StatusDescription = "Not found";
Run Code Online (Sandbox Code Playgroud)