我正在尝试整理我网站上的网址。我写了以下规则。对于
index.php?id=work&pid=work-item
RewriteRule (.*)/(.*)/$ /index.php?id=$1&pid=$2 [L]
哪个有效,看起来像这样:
/work/work-item/
然后为:
index.php?id=work&tag=1
RewriteRule (.*)/(.*)/$ /index.php?id=$1&tag=$2 [L]
这也有效,但打破了第一条规则。有没有人对解决方案有任何想法。
谢谢,
乔
答案 0 :(得分:1)
是的,您需要添加RewriteCond
才能使重写规则成为条件,并且不适用于与您的正则表达式匹配的任何内容。
RewriteCond %{QUERY_STRING} ^pid=...$
RewriteRule (.*)/(.*)/$ /index.php?id=$1&pid=$2 [L]
和
RewriteCond %{QUERY_STRING} ^tag=...$
RewriteRule (.*)/(.*)/$ /index.php?id=$1&tag=$2 [L]