2012-08-15 49 views
1

我怎麼可以重寫:改寫只有一個參數的URL

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] 

,但似乎並不奏效

回答

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

+0

嗨,喬恩,非常感謝。我從中學到了很多東西!現在編輯示例中的錯誤 – 2012-08-16 08:44:23