如何301将“domain.com /?...”重定向到“domain.com”

时间:2014-02-18 10:09:29

标签: regex apache .htaccess redirect http-status-code-301

当我访问“domain.com/?”时或“domain.com/?any-other-character-here”它显示我的主页,这导致了Google的重复结果。 Web服务器是Apache。

我的代码是

ErrorDocument 404 domain.com/error404.html

RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain.com

RewriteRule (.*) domain.com/$1 [R=301,L]

RewriteCond %{THE_REQUEST} \s/+\?\s

RewriteRule ^ /? [R=301,L]

它将非www重定向到www,我在其中添加了您的代码。但仍然看到domain.com/?any-random-text不会重定向到404

1 个答案:

答案 0 :(得分:0)

要修复404和domain.com/?的问题,您可以使用此重写代码:

ErrorDocument 404 http://domain.com/error404.html

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+\?
RewriteRule ^ /? [R=301,L]