2013-12-18 147 views
2

我有一箇舊頁面,用於根據查詢字符串顯示多個產品。我想用查詢字符串將URL重寫爲靜態頁面,這些靜態頁面與舊網址將被重寫的網頁不同。.htaccess用查詢字符串重寫URL不同頁面

RewriteRule ^old.php$ new.php 

    RewriteRule old.php?product=10 different.php [R=301,L] 

在這種情況下,old.php被重寫爲new.php。但old.php?product = 1O會被重寫爲new.php?product = 10而不是不同.php

回答

2

在重寫規則中,您無法匹配QUERY_STRING。您需要使用RewriteCond %{QUERY_STRING}來匹配查詢字符串。

使用您的規則爲:

RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^old\.php$ new.php [L,R] 

RewriteCond %{QUERY_STRING} ^product=10$ 
RewriteRule ^old\.php different.php [L,R] 
+0

太好了!非常感謝。 – asinomasimple

+0

不客氣,很高興它解決了。 – anubhava