Не могу заставить regexp реагировать на символ "?"

foboss nginx-forum at nginx.us
Mon Jan 27 08:31:39 UTC 2014


Добрый день!

Пытаюсь запустить правило:
 rewrite ^([^.\?]*[^/])$ $1/ permanent;

Оно должно добавлять "/" в конец запроса в случае, если в нем не содержится
"." или "?" и оно не оканчивается на "/"

Nginx отрабатывает только "." и "/":
* qwerty -> qwerty/
* qwe.rty -> qwe.rty
* qwe?rty -> qwe/?rty !!!

В https://www.debuggex.com/ условие "^([^.\?]*[^/])$" работает как
ожидается:
* qwerty - найден
* qwe.rty - не найден
* qwe?rty - не найден

Подскажите, как составить regexp правильно?

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



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