Apache 修改-规则问题

Apache 修改-规则问题,apache,mod-rewrite,Apache,Mod Rewrite,对于动态页面,我将所有请求转到product.php页面,并通过参数进行排序。这些规则是: 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] Re

对于动态页面,我将所有请求转到product.php页面,并通过参数进行排序。这些规则是:

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?id=$1


不幸的是,这不起作用。有什么想法吗?

您需要指定字符串的开头和结尾,并排除替换路径:

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

很酷,这几乎对我有效,除了我以前的产品规则现在都不起作用(如我问题中的代码块)。它们都指向page.php而不是product.php