我正在使用.htaccess代码将301子域重定向到域。并且还使用domain.php?id=123
并需要将其重定向到域名。我的代码如下。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^http://www.domain.com/dom.php?id=12$
RewriteRule (.*) http://www.domain.com/ [R=301,L]
但是当我尝试这样做时,我收到了一个错误,它会重定向到http://www.domain.com/?id=12
页面
答案 0 :(得分:0)
您无法使用REQUEST_URI
匹配QUERY_STRING
和RewriteCond %{HTTP_HOST}
,请尝试以下操作:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=123$
RewriteRule ^dom\.php$ /? [R=301,L,NC]
这会将http://www.domain.com/dom.php?id=12
重定向到http://www.domain.com/
。
或重定向任何http://www.domain.com/dom.php?id=<number>
:
RewriteCond %{QUERY_STRING} ^id=\d+$
RewriteRule ^dom\.php$ /? [R=301,L,NC]