在两种不同类型的 URI 的情况下,我想发生两件不同的事情,但我似乎无法阻止第二种情况在第一种情况已被接受的情况下执行。
这是一个例子:
abc.com
abc.com/asdf
abc.com/en/asdf
abc.com/zh-cn/asdf/asdf
都应该指向这个 RewriteRule:
RewriteRule ^(([a-z]{2})(-[a-z]{2})?)(/([a-z0-9-\./]*))?$ /index.php?lng=$1&tpl=$4 [QSA,L,NC]
第2部分:
abc.com/myadmin/
abc.com/myadmin/asdf
abc.com/myadmin/en/asdf
abc.com/myadmin/zh-cn/asdf/asdf
都应该指向这个 RewriteRule:
RewriteRule ^myadmin/(([a-z]{2})(-[a-z]{2})?)(/([a-z0-9-\./]*))?$ /myadmin/index.php?lng=$1&tpl=$4 [QSA,L,NC]
我一直试图实现这一点的方法是通过堆叠这样的条件:
RewriteCond %{REQUEST_URI} !^/myadmin/
RewriteRule ^(([a-z]{2})(-[a-z]{2})?)(/([a-z0-9-\./]*))?$ /index.php?lng=$1&tpl=$4 [QSA,L,NC]
RewriteCond %{REQUEST_URI} ^/myadmin/
RewriteRule ^myadmin/(([a-z]{2})(-[a-z]{2})?)(/([a-z0-9-\./]*))?$ /myadmin/index.php?vlng=$1&tpl=$4 [QSA,L,NC]
但无论我做什么,两条规则仍然执行。也许我做对了,二级执行在 php 模板中发生得更远,我不确定。我只需要知道到目前为止我所做的是否看起来不错,大家。