.htaccess 规则对同一初始路由的问题

Problem with .htaccess rule to same initial route

我的 .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 并且忽略第二条规则。

第二条规则好像没看,因为初始路线类似:

希望大家能帮帮我! :)

谢谢大家!

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

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

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