如何重写:
http://mystagingsite.com/website/?page_id=7&id=63&r_id=1-502ba82b9e926&event_id=1&attendee_action=post_payment&form_action=payment&type=paypal
到
http://mystagingsite.com/website/?page_id=102&id=63&r_id=1-502ba82b9e926&event_id=1&attendee_action=post_payment&form_action=payment&type=paypal
所以page_id参数需要更改....我需要将访问第一个网址的用户发送到第二个网址。我需要更改的是id参数......所有其他参数都需要保留。
我正在尝试这个:
RewriteRule http://mystagingsite.com/website/?page_id=7 http://mystagingsite.com/website/?page_id=102 [QSA]
但它似乎没有工作
答案 0 :(得分:1)
您无法在重写规则中与查询字符串( ?
之后的所有内容)或协议/主机(http://mystagingsite.com
)匹配,您将拥有在重写条件中匹配%{QUERY_STRING}
和%{HTTP_HOST}
变量:
RewriteCond %{HTTP_HOST} mystagingsite.com [NC]
RewriteCond %{QUERY_STRING} ^(.*)page_id=7&(.*)$
RewriteRule ^website/$ /website/?%1page_id=102&%2 [L]
虽然有点混乱。在您的问题中,您说您希望page_id=7
重写为page_id=102
,但在您的示例中,您已将63
重写为102
。