2011-03-19 113 views
1

对于动态页面,我已将所有请求发送到product.php页面,并通过params进行排序。规则是:mod_rewrite - 规则问题

RewriteRule ^products/([^/]+)/([^/]+)/([^/]+)$ product.php?cat_slug=$1&sub_slug=$2&product_slug=$3 [L,QSA] 
RewriteRule ^products/([^/]+)/([^/]+)$ product.php?cat_slug=$1&sub_slug=$2 [L,QSA] 
RewriteRule ^products/([^/]+)$ product.php?cat_slug=$1 [L,QSA] 

我现在想要一个规则来处理所有其他请求去page.php?id = $ 1。喜欢的东西:

([^ /] +)page.php文件1

ID = $不幸的是不起作用?有任何想法吗?

回答

2

你需要指定的开始和结束的字符串,并排除替代路径:

RewriteCond $1 !^(page|product)\.php$ 
RewriteRule ^([^/]+)$ page.php?id=$1 
+0

冷静,几乎为我工作,但没有我以前的产品规则,现在的工作(如代码块在我的问题)。他们都被引导到page.php而不是product.php – djt 2011-03-19 15:28:35