Nginx и регулярные выражения

RuslanValitov nginx-forum на forum.nginx.org
Пн Апр 8 16:03:48 UTC 2019


Добрый день. Пишу conf файл для своего сайта.
Задача сделать Location который удовлетворяет следующим путям:
site.ru/catalog/
site.ru/catalog/?id=3
site.ru/catalog/1/
site.ru/catalog/1/?id=3
при этом необходимо получить значение $1 если оно есть.

Использую регулярное выражение:
location ~* catalog/(\w+)
--
site.ru/catalog/1/ -работает
site.ru/catalog/1/?id=3 -работает
site.ru/catalog/ - 404
--
очевидно что nginx ждет что после catalog/ должен быть некий (\w+), поэтому
(site.ru/catalog/) не попадает вы выше созданный Location

Подскажите как изменить регулярное выражение что бы учитывался вариант
(site.ru/catalog/) ?
Не хочу плодить отдельный локейшен =catalog/

Заранее премного благодарен.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,283671,283671#msg-283671



Подробная информация о списке рассылки nginx-ru