将奇怪的网址重写回网站root

时间:2013-05-27 17:00:15

标签: regex apache .htaccess mod-rewrite

谷歌已将一些奇怪的网址编入索引,现在我正在为它们点击一些。 我想摆脱那些点击并将它们重写到首页,但似乎我缺乏一些技能来做到这一点。

在此规则中我试图将www.website.com/?f=重写为www.website.com, 但它没有做任何事情

RewriteCond %{HTTP_HOST} ^www.website\.com$
RewriteRule ^/?f=$ "http://www.website.com/" [R=301,L]

在这种情况下,即时通讯www.website.com/.html点击并尝试重写 那些到www.website.com root,但不影响www.website.com/news.html

RewriteCond %{REQUEST_URI} !^/\.html [NC]
RewriteRule (.*) http://www.website.com [R=301,L]

- bp的

1 个答案:

答案 0 :(得分:0)

您需要了解RewriteRule与查询字符串不匹配。你有这样的规则:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^f= [OR]
RewriteCond %{REQUEST_URI} ^/\.html$ [NC]
RewriteRule ^ http://www.website.com/ [R=302,L]

验证一切正常后,将R=302替换为R=301。在测试mod_rewrite规则时,请避免使用R=301(永久重定向)。