Рейтинг:0

Как настроить переадресацию на URL-адрес без косой черты в конце в nginx?

флаг ca

мне нужно сделать такое перенаправление:

domain.com/test/ (301) => domain.com/test

для этого я использовал следующую запись:

переписать ^/(.*)/$ /$1 навсегда;

Но есть нюанс, в пагинации у меня есть такие ссылки и для них выполняется редирект:

domain.com/category/?page=1&view=grid (301) => domain.com/category?page=1&view=grid
domain.com/category/?page=2&view=grid (301) => domain.com/category?page=2&view=grid
...

Хотелось бы, чтобы по таким ссылкам не было редиректов.

Можно ли это сделать через nginx или лучше сделать это в скрипте сайта?

Заранее благодарю за ответ.

Также пробовал это:

если ($query_string = "") {
   переписать ^/(.*)/$ /$1 навсегда;
}

но я не знаю, хорошая ли это запись?

Michael Hampton avatar
флаг cz
Вы имеете в виду, что `if ($query_string = "") ...` не работает?
Sergey Khlopov avatar
флаг ca
@Майкл Хэмптон это работает, если я поместил его в блок ```сервер {...}``` И я хотел бы убедиться, что использование такого условия является правильным решением. Просто эта статья меня смущает [Если это зло] (https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil)
Michael Hampton avatar
флаг cz
В статье написано, что все в порядке, так оно и есть.
Sergey Khlopov avatar
флаг ca
@Майкл Хэмптон Спасибо, не могли бы вы немного пояснить. Вы имеете в виду то, что написано - «Единственные 100% безопасные вещи, которые можно сделать внутри, если в контексте локации — вернуть, переписать». Но я немного не понимаю эту фразу. Все хорошо, если внутри ```if {...}``` есть ```return or rewrite``` ? Или если внутри блока ```location {...}``` есть ```return or rewrite``` ?
Michael Hampton avatar
флаг cz
Вы поместите это в свое «местоположение», так что это не имеет большого значения. Но это безопасно в любом случае.
Sergey Khlopov avatar
флаг ca
@Майкл Хэмптон Нет, я оставлю его в блоке ```server {...}```. Хорошо, спасибо за помощь. знак равно

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.