为什么在asp.net中使用自定义404页面时,不存在的页面返回302状态

use*_*212 5 asp.net http-status-code-404 http-status-code-302

我已经设置了自定义404页面custom404.aspx,它正确地返回"404 Not Found"错误,但是最初请求的不存在的页面返回"302 Found"状态.

因此,当我测试thispagedoesnotexist.aspx时,它返回"302 Found",然后custom404.aspx加载并返回"404 Not Found"状态.

我想确保搜索蜘蛛/机器人了解所请求的页面不存在且不应出现在任何搜索结果中.这个设置是否正确?

War*_*War -4

简单的说 ...

例如,使用:

/path_to_error_page.html 
Run Code Online (Sandbox Code Playgroud)

... 并不是 ...

http://www.example.com/path_to_error_page.html

原因是服务器解释初始请求,然后生成 404 重定向,以便您的客户端有效地获得 2 个响应。

相对路径不会产生重定向,但内部服务器传输只会产生 1 个响应,即您想要的响应!

这应该可以解决你的问题。