404重定向或更好的选项

时间:2016-11-30 19:51:45

标签: .htaccess redirect http-status-code-404

我的htaccess文件中有以下代码来处理404代码:

ErrorDocument 404 https://www.mywebsite.co.uk/lost.php
RewriteEngine On

当然会返回自定义404页面(工作正常)。

我做了一个nibbler检查,它说了以下内容:

  

使用a设置缺少页面处理是一个常见错误   重定向。丢失的页面应该直接返回404错误而不是   重定向到另一个页面。

     

此网站不会返回错误的404错误HTTP状态代码   页面。这很糟糕,因为谷歌等搜索引擎可能会误会   这是一个真实的内容页面。

如果上述条件不好,处理404错误代码的最佳做法是什么?我只想要一些通用的东西。不需要使用301,因为我的404的目的只是让访问者知道他们正在寻找的东西不在那里或他们已经打错了。

如果使用重定向是一个“常见错误”应该怎么做?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您需要从404处理程序中删除https://http://,否则会强制Apache执行完全重定向而不是内部重写。

所以你可以使用:

ErrorDocument 404 /lost.php

答案 1 :(得分:1)

这取决于。如果您在Web服务器上运行了一个应用程序,它接收了每个进入的URL并且实现了一些逻辑,那么它本身必须确定URL是否存在,那么应用程序应该直接在给定的URL下返回404错误页面而不是重定向到另一个页面,如404.html左右。但是,如果您的网络服务器使用.htaccess文件处理网址请求,则可以设置在网址无效时返回的文档。