我正在尝试重定向到另一个网站。以下规则适用于我.htacces
中的所有其他规则,但以下规则似乎不起作用,我可以通过大量尝试和错误找出原因。
RewriteCond %{HTTP_HOST} ^www.oldexample.com$
RewriteRule ^folder3/page.php?value=(.*)$ http://newexample.com/folder1/page.php?value=$1 [L,R=301,NC]
我尝试了以下重定向但未添加(.*)
内的值的
RewriteCond %{HTTP_HOST} ^www.oldexample.com$
RewriteRule ^folder3/page.php?(.*)$ http://newexample.com/folder1/page.php?$1 [L,R=301,NC]
这可能是=
symbbol的问题吗?我试图逃避它并逃避.
但也无济于事
答案 0 :(得分:0)
您无法在重写规则中与查询字符串(?之后的所有内容)匹配,您需要使用RewriteCond
并与%{QUERY_STRING}
匹配。但是,看起来你只是试图传递查询字符串,不变。所以你不需要弄乱任何一个:
RewriteCond %{HTTP_HOST} ^www.oldexample.com$
RewriteRule ^folder3/page.php$ http://newexample.com/folder1/page.php [L,R=301,NC]
查询字符串将自动附加。您需要确保此规则高于任何路由规则,因为它需要在任何内部重写之前进行。