#nginx
#nginx
Вопрос:
У меня проблема, и я не знаю, как ее исправить.
Я каждую косую черту в конце перенаправляю без косой черты. Поэтому он должен удалить последнюю косую черту URL.
rewrite ^/(.*)/$ /$1 permanent;
Это работает, но только для обычного URL.
Если у меня есть такие параметры, ?page=2/
они не перезаписываются ?page=2
.
Как я могу это исправить? Мой код работает только без параметров и здесь мне не помогает. Я также уже осмотрелся, но ничего другого не нашел.
Комментарии:
1. Почему это должно работать?
rewrite
Директива работает с нормализованными URL-адресами, в то время как вы, похоже, хотите переписать параметры. Обратите внимание, как в вашем примере есть параметрpage
со значением2/
.2. Да, но когда я перехожу на ?page= 2, я не нахожусь на 2 / , но если я перехожу на ?page= 2/, я также остаюсь на 2 / . Таким образом, никто не перенаправляется, и у меня есть повторяющиеся сайты, поэтому я перенаправлю всех без косой черты в конце
3. Разные параметры URL-адреса создают разные URL-адреса, верно. Но любой может указать неограниченное количество параметров URL. Например.
/?page=2amp;blah=123
. Что заставляет вас беспокоиться о косых чертах в параметрах URL? Практически бессмысленно пытаться перенаправлять на основе косых черт в их значениях.