重定向到主页,而不是404错误页面!(redirecting to homepage rather

2019-08-18 01:28发布

我与PHP的工作。 我有一个像下面的.htaccess文件,并重定向到主页,而不是404错误页面:/什么可以在这里是什么问题? 欣赏帮助! 非常感谢!

ErrorDocument 404 /new/err404.html
RewriteEngine On
RewriteBase /new/

RewriteRule ^login.html$ index.php?s=login&a=loginDo [QSA,L]
RewriteRule ^logout.html$ index.php?s=login&a=logoutDo [QSA,L]
RewriteRule ^([^/]*).html$ index.php?s=$1 [QSA,L]
RewriteRule ^members/([^/]*)$ index.php?s=profile&username=$1 [QSA,L]
RewriteRule ^([^/]*)/$ index.php?s=listing&search[cityString]=$1 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)/$ index.php?s=listing&search[neighborhoodString]=$2 [QSA,L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*).html$ index.php?s=details&seo_friendly=$3 [QSA,L]

Answer 1:

URL路径或您的错误文档/new/err404.html不带路径前缀/new/只是err404.html 。 这将通过您的第三个规则相匹配。

你可以扩展该规则和排除这样的错误文件:

RewriteCond $1 !^err[45][0-9][0-9]$
RewriteRule ^([^/]*)\.html$ index.php?s=$1 [QSA,L]


Answer 2:

我觉得更重要的问题,就是为什么要重定向404对您的主页?

用户需要知道页面已经死了/坏了,所以做谷歌。 你需要调查,其中404的来自何方。

重定向你的404的到您的主页会告诉谷歌你的链接是A-OK,你可能会伤害你的排名取决于有多少链接将被重定向,因为谷歌可以把它看作是重复的内容。

说你把影响5000页的规则 - 那么谷歌来了,看到5000的URL与完全相同的内容 - 在主页上,它是如何知道那些被认为是404的,开始用?

修正你的404的。 如果你有需要转向合法的内容,那么,他们重定向到新的页面,或者提供的最接近的语义页面。



Answer 3:

为什么你想使用重写规则为您的404错误? 为什么不直接使用:

 ErrorDocument 404 /new/err404.html

就像你在第一行? 你想404保持相对于该用户试图进入的目录?



Answer 4:

尝试在你的.htaccess该行通过改变域名和页面名称

ErrorDocument 404 http://www.yoursite.com/pagename.html


Answer 5:

只要通过您的主页代码到重定向页面。 与你的主页的代码更改重定向页面的代码。 所以,你将有一个/index.html并用相同的代码可以找到/404.html - 您的主页。 呵呵



文章来源: redirecting to homepage rather than 404 error page!