当您的网站上不存在某个网页时会发生什么?如果我在.htaccess中设置了自定义错误页面,我会获得302临时重定向到我的404页面(我发送404标题)。它应该如何工作?或者我应该将301永久重定向到错误页面?我正在使用php和Apache。
答案 0 :(得分:7)
如果它从未存在过,您应该发送404 Not Found
。
如果以前存在但不再存在,则应发送410 Gone
。
设置服务器以直接发送错误响应。
您不应该重定向到错误页面。这基本上意味着谈话将会进行:
诱饵和开关绝对不错。
答案 1 :(得分:5)
不存在的页面没有“暂时移动”(301)或“永久移动”(302)到关于文件不存在的页面,它不存在。要发送的正确标头是404,而不是其他任何内容。
请勿在任何地方重定向,而是在请求的网址上提供“未找到文件”页面内容。
答案 2 :(得分:1)
如果您有一个静态错误页面,例如404.html,那么apache显示何时找不到页面,并且您需要能够为动态页面提供404页面,您可以通过发送来自PHP的404标头并提供错误页面:
<?php
header("HTTP/1.0 404 Not Found");
readfile("404.html");
?>