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