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

Пользователь

от margaret , в категории: Другие , 6 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jerad.kuphal , 6 месяцев назад

@margaret 

Для того чтобы настроить редирект в Nginx, вы можете использовать директиву return. Вот пример настройки редиректа:

  1. Редирект на другой URL:
1
2
3
4
5
6
7
8
server {
    listen      80;
    server_name example.com;
    
    location / {
        return 301 https://www.example.com$request_uri;
    }
}


  1. Редирект на другой домен:
1
2
3
4
5
6
7
8
server {
    listen      80;
    server_name example.com;
    
    location / {
        return 301 http://otherdomain.com$request_uri;
    }
}


  1. Редирект с сохранением параметров запроса:
1
2
3
4
5
6
7
8
server {
    listen      80;
    server_name example.com;
    
    location / {
        return 301 https://www.example.com/$request_uri;
    }
}


Здесь return используется для отправки соответствующего HTTP ответа с указанным кодом состояния. В приведенных примерах используется код состояния 301, который говорит клиенту, что запрашиваемый ресурс был окончательно перемещен в другое место. Затем указывается новый URL, на который клиент будет перенаправлен.