nginx переписать иерархию в разные файлы - PullRequest
0 голосов
/ 28 апреля 2020

Это Остин

У меня есть эти правила перезаписи

rewrite ^/([^/]*)/? /state.php?state=$1 last;
rewrite ^/([^/]*)/([^/]*)? /city.php?state=$1&city=$2 last;

Что я пытаюсь сделать sh: если в URL-адрес входит только состояние, например mysite.com/california/ он должен загружать штат. php, и если URL-адрес включает штат / город, например mysite.com/california/san-diego/, он должен загружать город. php

Я попытался поменять место правил перезаписи но он не запрашивает правильный файл. Есть ли какой-то тип условного утверждения, которое я могу сделать с помощью nginx переписать до свершителя sh, что я хочу?

Спасибо. PS: я знаю, что могу сделать это, если я добавлю / штат-Калифорния / примерно так: ^ / штат - ([^ /] *) /? но я пытаюсь избежать этого.

1 Ответ

0 голосов
/ 28 апреля 2020

Я только что нашел решение, которое ставит $ в конце как

  rewrite ^/([^/]*)/**$**            /state.php?state=$1 last;
  rewrite ^/([^/]*)/([^/]*)/**$**    /city.php?state=$1&city=$2 last;
...