Перенаправление Nginx: несколько методов перенаправления с WWW на не-WWW

В этой статье блога мы рассмотрим различные методы перенаправления запросов с WWW-версии веб-сайта на не-WWW-версию с помощью Nginx. Перенаправление с WWW на не-WWW может помочь улучшить согласованность веб-сайта, SEO и удобство использования. Мы предоставим примеры кода для каждого метода, которые помогут вам успешно реализовать перенаправление.

Метод 1: настройка блока сервера
Первый метод включает настройку блока сервера Nginx для обработки перенаправления. Откройте файл конфигурации Nginx и найдите блок сервера для вашего домена. Добавьте следующий фрагмент кода внутри блока сервера:

server {
    server_name www.example.com;
    return 301 $scheme://example.com$request_uri;
}

Метод 2: настройка блока местоположения
Другой подход — использовать блок местоположения в файле конфигурации Nginx. Вот пример фрагмента кода:

server {
    listen 80;
    server_name www.example.com;
    location / {
        return 301 $scheme://example.com$request_uri;
    }
}

Метод 3: правило перезаписи
Третий метод предполагает использование правила перезаписи в файле конфигурации Nginx. Добавьте следующий фрагмент кода, чтобы добиться перенаправления:

server {
    server_name www.example.com;
    rewrite ^/(.*)$ $scheme://example.com/$1 permanent;
}

Метод 4: Директива Map
Директива Map в Nginx также может использоваться для выполнения перенаправления. Вот пример фрагмента кода:

map $http_host $new_host {
    default         $http_host;
    www.example.com example.com;
}
server {
    server_name www.example.com;
    return 301 $scheme://$new_host$request_uri;
}

Метод 5: использование переменных
В этом методе переменные можно использовать для перенаправления с WWW на не-WWW. Вот фрагмент кода, иллюстрирующий, как это сделать:

server {
    server_name www.example.com;
    set $redirect_host example.com;
    return 301 $scheme://$redirect_host$request_uri;
}