@webe
frontend

Как сделать редирект?

Подскажите плиз как сделать редирект 301.

с /page/qwe направляем на /page-qwe
с /qwe направляем на /qwe-qwe

т.е. нужно прописать статичные URL редиректы по ссылке.
Подскажите плиз, перепробовал тучу конфигов, но не хочет.

Сервер нужно перезагружать после правки Nginx?

Vmk2GM8n.png

захожу на https://site.ru/old-page Но ничего не происходит
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 2
megafax
@megafax
web-программист
location /old-page {
  return 301 $schema://$host/new-page;
}

И да, после каждой правки надо перезагружать nginx
Ответ написан
Комментировать
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
1. Директива rewrite может использоваться в блоке server, совсем необязательно (и даже не рекоммендуется) для каждого правила rewrite писать свой отдельный блок location. См. документацию.
2. Если редиректов больше чем парочка штук, для удобства в блоке server подключите отдельный файл, класть его можно где угодно (я держу в самом проекте, это позволяет трекать все изменения в git):

include /var/www/site-name/redirects.conf;

3. А уже в этом файле пишите редиректы друг за другом, по одному в строчку:

rewrite ^/page/qwe/?$ $schema://$server_name/page-qwe/ permanent;
rewrite ^/qwe/?$ $schema://$server_name/qwe-qwe/ permanent;


4. После каждого изменения конфига (в том числе подключенного конфига с редиректами) необходимо попросить Nginx перезагрузить конфиги (не обязательно, и даже не нужно перезагружать сам Nginx):

sudo service nginx reload
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы