这就是我的意思使用的例子我有两种类型的链接像-
http://example.com/type.php?category=movies
http://example.com/type.php?tags=movies
我在htaccess中使用过类似这样的代码
RewriteRule ^type/([0-9a-zA-Z_-]+) type.php?category=$1 [NC,L]
RewriteRule ^type/([0-9a-zA-Z_-]+) type.php?tags=$1 [NC,L]
但仍然没有运气,第一个代码是在第一行的其他像在这种情况下,?类别只有工作和**?标签**不工作什么可能是正确的答案来解决这两个问题?
1条答案
按热度按时间djmepvbi1#
尝试从[NC,L]中删除L,因为这意味着如果.htaccess可以应用此规则,您将告诉它在此处停止重写,因此它不会执行第二行。
以下是有关标志的更多信息:[https://httpd.apache.org/docs/2.4/en/rewrite/flags.html](https://httpd.apache.org/docs/2.4/en/rewrite/flags.html%5C)
=-=
此外,正如Chris哈斯所评论的,如果您的规则不够具体,并且第一个规则的原始URL在所有其他规则中都可以找到,那么它将始终只处理第一个规则。
下面是一个很好的例子:
由于第一条规则可以在其他规则中找到(此处为第二条和第三条),因此第二条和第三条规则将被视为与第一条规则“相同”,因此不执行。