mod_rewrite
我在 Apache 下使用时遇到了一些奇怪的行为。这是当前的RewriteRules
外观:
RewriteRule ^(.*)/collections/(.*)/(.*)/?$ bootstrap.php?controller=category&user=$1&collection=$2&category=$3 [L]
RewriteRule ^(.*)/collections/(.*)/?$ bootstrap.php?controller=collection&user=$1&collection=$2 [L]
我对上述规则的期望是访问 URLdomain.com/BenM/collections/0/1/
应该带我到category
控制器,而domain.com/BenM/collections/0/
应该带我到collection
控制器。
目前,两个 URL 结构都重写为bootstrap.php?controller=category...
.
我的理解是,如果[L]
指定了标志,Apache 不会再查看并执行重写。
任何人都可以在这里指出正确的方向,因为我无法击败这个......重写应该是什么样子才能实现我上面解释的功能?