Apache 同一初始路由的.htaccess规则存在问题

Apache 同一初始路由的.htaccess规则存在问题,apache,.htaccess,mod-rewrite,url-rewriting,friendly-url,Apache,.htaccess,Mod Rewrite,Url Rewriting,Friendly Url,我的.htaccess中有两条规则: RewriteRule ^brand/model-1/ models.php?id_model=1 [QSA] RewriteRule ^brand/model-1/exit-page/ exit.php?id_model=1 [QSA] 第一条规则是转到模型,第二条规则是转到退出页面 问题是: 如果我在浏览器中转到:brand/model-1/exit page/它将接受第一条规则brand.php?id_model=1,第二条规则将被忽略 因为初始路

我的.htaccess中有两条规则:

RewriteRule ^brand/model-1/ models.php?id_model=1 [QSA]

RewriteRule ^brand/model-1/exit-page/ exit.php?id_model=1 [QSA]
第一条规则是转到模型,第二条规则是转到退出页面

问题是:

如果我在浏览器中转到:brand/model-1/exit page/它将接受第一条规则brand.php?id_model=1,第二条规则将被忽略

因为初始路线相似,所以似乎不阅读第二条规则:

  • 品牌/车型-1/
  • 品牌/型号-1/退出页面/
我希望你能帮我!:)


谢谢大家

正则表达式是贪婪的。 这意味着您的第一个规则也与第二个场景匹配

如果在末尾添加
$
,则应精确匹配
品牌/model-1/
。 将尾部斜杠设置为可选仍然是安全的,如下所示:

RewriteRule ^brand/model-1(/)?$ models.php?id_model=1 [QSA]