.htaccess具有不同属性的相同重写规则

时间:2013-08-17 06:52:23

标签: php .htaccess rewrite

我无法弄清楚我应该如何区分这两条规则。

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

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

他们都去同一页,唯一的区别是他们的属性,因此他们互相重叠。它甚至没有达到第二条规则。

任何人都知道如何解决这个问题?

这些是我使用

的实际网址
http://localhost/mg_com_tr/products/accesories
http://localhost/mg_com_tr/products/65

1 个答案:

答案 0 :(得分: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]