对于我的某个网站,Google开始为以下网页编制索引:
www.domain.com/?index.php=en-id1&itemid=3711&view=21
他们在短短一天内将其中的几个编入索引,使该网站看起来有数千页。
除了尝试清理网站,修复安全问题,并让谷歌尝试从索引中删除这些网页。我想将这些页面重定向到主页本身,因此它会完全从URL中删除查询字符串。
这是一个wordpress网站,所以我在htaccess的wordpress重写规则之上加上了这样的重写条件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^index.php*$
RewriteRule ^index\.php$ http://domain.com/%1 [R=301,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
如何将所有以/?index.php=en-id开头的网页重定向到我的主页?
答案 0 :(得分:0)
你可以试试这个:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^index.php
RewriteRule ^(.*)$ http://domain.com/$1? [R=301,L]
</IfModule>
只有以&#34; index.php&#34;开头的查询字符串才会被删除。 此外,上面的代码段会重定向到您要去的任何页面。 如果您想要任何查询以&#34; index.php&#34;开头的请求始终重定向到主页。 您可以进行以下调整:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^index.php
RewriteRule ^ http://domain.com/? [R=301,L]
</IfModule>
额外资源: