在此规则中我试图将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的
答案 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
(永久重定向)。