我正在尝试重定向具有不同参数名称的页面具有相同的值,如下所示:
原文:example.com/trip/trip.php?refID=ZMkZ4rC
新页面:example.com/corp/trip/trip.php?id=ZMkZ4rC
区别在于我正在添加/corp/
,参数正在更改为id=
使用下面我得到一个重定向,但没有传递任何参数。
RewriteCond %{QUERY_STRING} (^|&)refID\=(.*)($|&)
RewriteRule ^trip/trip\.php$ /corp/trip/trip.php?id=$1 [L,R=301]
结果:example.com/corp/trip/trip.php?id=
我错过了什么?
答案 0 :(得分:0)
请尝试使用以下内容,因为您可以看到我为uri和query_string使用了单独的重写。
RewriteCond %{REQUEST_URI} ^/trip/trip.php
RewriteCond %{QUERY_STRING} ^refID=(.+)
RewriteRule ^ /corp%{REQUEST_URI}?id=%1 [R=301]