我有以下网址:domain.com/?query_string=some_variable
我需要domain.com/?query_string=*
到301的所有请求重定向到domain.com
我尝试了以下内容:
RewriteCond %{QUERY_STRING} ^query_string=$
RewriteRule (.*) http://domain.com? [R=301,L]
在上下文中:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{QUERY_STRING} ^query_string=$
RewriteRule (.*) http://domain.com? [R=301,L]
</IfModule>
答案 0 :(得分:0)
您需要在其他规则之前保留重定向规则,并在正则表达式中匹配^query_string=
以允许query_string=
之后的任何内容。
您可以使用以下规则:
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^query_string= [NC]
RewriteRule ^ %{REQUEST_URI}? [R=301,L,NE]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]