Эффективные методы перенаправления «www» на «не www» с использованием .htaccess

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

Метод 1: перенаправление с помощью mod_rewrite:
Модуль mod_rewrite в Apache предоставляет мощный способ манипулирования URL-адресами. Чтобы перенаправить с «www» на «без www», добавьте следующий код в файл.htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

Метод 2: перенаправление с помощью mod_alias:
Модуль mod_alias также можно использовать для достижения перенаправления. Вот как это можно сделать:

RedirectMatch 301 ^/?(.*) http://example.com/$1

Метод 3. Перенаправление с помощью PHP:
Если вы предпочитаете использовать PHP, вы можете добиться перенаправления, используя следующий код:

<?php
if (substr($_SERVER['HTTP_HOST'], 0, 4) === 'www.') {
    header('Location: http://example.com' . $_SERVER['REQUEST_URI'], true, 301);
    exit;
}
?>

Метод 4: перенаправление с помощью JavaScript:
Хотя JavaScript не так часто используется для этой цели, JavaScript также может обрабатывать перенаправление. Добавьте в свой HTML-файл следующий код:

<script type="text/javascript">
    if (window.location.hostname.substr(0, 4) === 'www.') {
        window.location.replace('http://example.com' + window.location.pathname);
    }
</script>

Метод 5: перенаправление с помощью Nginx:
Если вы используете Nginx, вы можете добиться перенаправления, добавив следующий код в блок сервера:

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

Перенаправление с www на без www — важнейший шаг в обеспечении единообразия URL-адреса веб-сайта и улучшении SEO. В этой статье мы рассмотрели несколько методов достижения такого перенаправления с использованием файла.htaccess, конфигураций PHP, JavaScript и Nginx. Выберите метод, который подходит вашей серверной среде и настройке веб-сайта, и внедрите его, чтобы обеспечить плавное перенаправление с «www» на «без www».