Мне нужно удалить массовые конечные косые черты, теперь у меня есть
rewrite ^/(.*)/$ /$1 permanent;
Так www.example.com/
становится www.example.com
.
Это хорошо, но когда я иду в www.example.com///
(любое количество косых черт) это не перенаправляет. Мне нужно сделать любое количество косых черт в конце перенаправления на страницу без косой черты.
Nginx нормализует URI, удаляя последовательные вхождения /
перед обработкой с помощью rewrite
и location
директивы. Итак, ваше правило никогда не видит последовательных /
с. Видеть этот документ для подробностей.
Исходный запрос доступен как $request_uri
и можно проверить с помощью if
блок.
Например:
if ($request_uri ~ ^(.*/)/($|\?.*)) { return 301 $1$2; }
Видеть это предупреждение по использованию if
.