Redirect 301 - это механизм перенаправления веб-трафика, который часто используется для перенаправления постоянных URL-адресов на другие страницы или сайты. В контексте Nginx, наиболее популярного веб-сервера, redirect 301 может быть настроен с использованием директивы "return" в блоке сервера или местного блока.
Перед тем, как подробно рассмотреть работу redirect 301 в Nginx, давайте разберемся, что означает 301. "301" в HTTP-статус-коде означает, что запрашиваемая страница была окончательно перемещена на новый адрес. Когда браузер получает ответ с этим кодом, он автоматически совершает новый запрос на новый адрес и обновляет закладки и ссылки.
В Nginx для настройки 301 перенаправления вы должны использовать блок "server" или блок "location" в файле конфигурации Nginx. Вот пример кода для создания перенаправления 301 в Nginx:
server { listen 80; server_name oldsite.com; return 301 http://newsite.com$request_uri; }
В этом примере, когда Nginx получает запрос на oldsite.com, он отправляет 301 перенаправление на newsite.com с сохранением остальной части URL-адреса (request_uri). Это означает, что все подстраницы и параметры URL будут сохранены при перенаправлении.
Если вы хотите настроить несколько перенаправлений, вы можете использовать блок "location". Например:
server { listen 80; server_name oldsite.com; location /page1 { return 301 http://newsite.com/newpage1; } location /page2 { return 301 http://newsite.com/newpage2; } location / { return 301 http://newsite.com/; } }
В этом примере, когда Nginx получает запрос на oldsite.com/page1, он отправляет 301 перенаправление на newsite.com/newpage1. Аналогично, oldsite.com/page2 перенаправлен на newsite.com/newpage2, а все остальные запросы перенаправлены на newsite.com.
Конфигурация перенаправления 301 может быть слегка отличаться в зависимости от вашей специфической ситуации и требований, но, в целом, это основы работы с redirect 301 в Nginx.