Как настроить Apache на перенаправление корневых доменов (не-www) на www

Перенаправление пользователей с "голого" домена (например, example.com ) на домен с www-приставкой (например, www.example.com ) - обычная практика в веб-менеджменте. Она обеспечивает постоянство URL-адресов, с которыми взаимодействуют пользователи, а при правильной настройке может иметь и SEO-преимущества.

HTTP-сервер Apache предоставляет простой способ выполнить такое перенаправление. Модуль mod_rewrite, входящий в состав Apache, позволяет веб-администраторам перенаправлять пользователей в зависимости от условий. Наиболее распространенным вариантом является перенаправление трафика с голого домена на его www-эквивалент.

Если у вас есть файл виртуального хоста для вашего домена, вы можете добавить несколько строк, чтобы добиться такого перенаправления. Если нет, то эти настройки обычно находятся в главном файле конфигурации Apache или в файле .htaccess в корневой директории вашего сайта.

Перенаправление домена на www в Apache с помощью htaccess

В дистрибутивах с поддержкой a2enmod можно просто выполнить приведенную выше команду без необходимости вручную включать необходимые модули.

В CentOS и Red Hat модуль включается по умолчанию, поэтому ручное включение модулей не требуется.

Опции Debian, Ubuntu openSUSE и SLES Fedora Core, CentOS, RHEL macOS homebrew xampp
Поддержка a2enmod Да Да Нет Нет Нет Нет
Модули для установки Отсуствуют
Имя модуля n/a rewrite
Директива Loadmodule n/a LoadModule rewrite_module <module_locations>/mod_rewrite.so

Откройте или создайте файл .htaccess в веб-папке, из которой вы хотите установить перенаправление.

Добавьте директиву перенаправления из файла .htaccess.

301 - это эквивалент постоянного редиректа, а для временного редиректа можно использовать 302.
Справочник HTTP кодов (статусов)

Сохраните и закройте файл.

Перезагрузите веб-страницу (или очистите кэш браузера и перезагрузите его), чтобы проверить работу перенаправления.

Перенаправление домена на www в Apache с помощью Virtualhost

В дистрибутивах с поддержкой a2enmod можно просто выполнить приведенную выше команду без необходимости вручную включать необходимые модули.

В CentOS и Red Hat модуль включается по умолчанию, поэтому ручное включение модулей не требуется.

Откройте конфигурацию VirtualHost, с которого вы хотите настроить перенаправление, с помощью вашего любимого текстового редактора.

Добавьте директиву redirect в конфигурацию VirtualHost.

permanent эквивалентен 301 редиректу, а для 302 редиректа можно использовать temporary .

Сохраните и закройте файл.

Перезапустите Apache, чтобы изменения были применены.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий