2014-07-04 25 views
0

我已經改寫我的網站從ASP到PHP。我需要用多個參數重定向幾頁。如何用多個參數重寫URL到新的URL使用.htaccess

這是幾個老的URL的:

mysite.co.uk/productlist_paged.asp?cid=1&offset=10 
mysite.co.uk/productlist_paged.asp?cid=1&offset=20 
mysite.co.uk/productlist_paged.asp?cid=1&offset=30 
mysite.co.uk/productlist_paged.asp?cid=1&offset=40 

以下新頁面:

mysite.co.uk/Compare/Roland-Digital-Pianos/43/1 
mysite.co.uk/Compare/Roland-Digital-Pianos/43/2 
mysite.co.uk/Compare/Roland-Digital-Pianos/43/3 
mysite.co.uk/Compare/Roland-Digital-Pianos/43/4 

我希望能保持43號出了重定向,因爲這一個數字,當產品被添加/移除時將會改變。 CID = 1等於羅蘭 - 數字 - 鋼琴和EG偏移= 10是在URL

任何幫助,歡迎

回答

0

年底1號你可以用像去:

RewriteEngine On 

RewriteCond %{QUERY_STRING} cid=1&offset=([0-9]+)0 
RewriteRule ^productlist_paged.asp$ /Compare/Roland-Digital-Pianos/43/%1? [R=301,L] 

有是RewriteCond末尾處的額外0,否則,%1將是1020而不是12

多餘的?最後在重定向url中刪除QUERY_STRING

注:我沒有這個QUERY_STRING添加^$RewriteCond,讓您的網址不necessarly開始/結束,即productlist_paged.asp?test=1&cid=1&offset=10&test2=1也將符合RewriteCond和重定向。

希望它有幫助!

+0

非常感謝你的訣竅 – Ria

+0

很高興工作!請注意,這是不可能的(或者我不知道如何)來處理43號碼問題,因爲你不知道,當你的asp網址是通話時,它是什麼號碼。 – Meeuuuhhhh