2013-08-17 85 views
0

我無法弄清楚我該如何區分這兩個規則。.htaccess具有不同屬性的相同重寫規則

RewriteRule ^products.php/([^/\.]+)/?$ products.php?type=product&product_id=$1 [L] 

RewriteRule ^products.php/([^/\.]+)/?$ products.php?type=product&category=$1 [L] 

他們都去了相同的頁面,唯一的區別是他們的屬性,因爲他們相互重疊。它甚至從未達到第二條規則。

任何人有一個想法如何解決這個問題?

這些是實際的URL我使用

http://localhost/mg_com_tr/products/accesories 
http://localhost/mg_com_tr/products/65 
+0

它是如何應該知道,你是路過的放慢參數是PRODUCT_ID或類別,它顯然會遵循第一條規則 –

+0

更好地引入第三個參數來指示它是product_id還是category –

回答

0

改變兩個重寫規則

RewriteRule ^products\.php/(\d+)/?$ products.php?type=product&product_id=$1 [NC,L] 

RewriteRule ^products\.php/(\w+)/?$ products.php?type=product&category=$1 [NC,L]