2014-09-03 30 views
1

重定向動態PHP網址時,我改變了從example.com/product.php?id=1站點佈局example.com/new.php特異性通過htaccess的

我需要離開爲301的規則將此重定向從id = 1重定向到new.php。

我有什麼,該工程目前

RewriteCond %{query_string} id=1 
RewriteRule (.*) https://example.com/new.php? [R=301,L] 

問題需要解決:

還有一個叫頁面example.com/other-products.php?id=1

此「其他」頁上的所有產品也都被重定向到「new.php」。

最後一個問題:

如何申請特異性,這種重定向使得由products.php前面只有動態URL重定向和用相同的ID號站點中所有其他動態URL(例如:內徑= 1)保持放?

謝謝!

+0

您可以使用多個條件。也許使用'%{REQUEST_FILENAME}'來檢查頁面。所有先前的條件必須匹配才能運行規則。或者甚至只是將頁面名稱添加到規則而不是'(。*)' – 2014-09-03 19:29:24

回答

2

您需要RewriteRule使用正確的URI模式:

RewriteCond %{query_string} ^id=1$ [NC] 
RewriteRule ^product\.php$ https://example.com/new.php? [R=301,L,NC] 

注意到RewriteRule ^product\.php$,這隻會影響/product.php?id=1 URL,但不會影響/product-abc.php?id=1 OR /product.php?id=123

+1

這就是解決方案。我已將它輸入到網站中,並進行了測試,並且工作完美無瑕。定時器允許時,我會接受答案。謝謝你,先生!你對我非常有幫助。 – user3100907 2014-09-03 19:32:25

+0

不客氣,很高興它的工作。 – anubhava 2014-09-03 19:39:41