Проблема с правилом .htaccess для того же начального маршрута - PullRequest
0 голосов
/ 26 июня 2019

У меня есть два правила в моем .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 , а второе правило: ignorated.

Кажется, не читайте второе правило, потому что начальный маршрут похож:

  • марка / модель-1 /
  • марка / модель-1 / выход-страница /

Надеюсь, вы поможете мне, пожалуйста! :)

Спасибо всем!

1 Ответ

1 голос
/ 26 июня 2019

Регулярные выражения жадные. Это означает, что ваше первое правило соответствует вашему второму сценарию.

Если вы добавите $ в конце, вы должны точно соответствовать brand/model-1/. Все еще безопасно сделать дополнительный слеш необязательным, например:

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