Привязка поддомена с www и настройка переадресации с www на без
12 Декабря 2014

Привязка поддомена с www и настройка переадресации с www на без

Привязка доменного имени к серверу у большинства обычных шаред хостингов происходит легко, буквально в пару кликов. Вы добавили домен через панель управления, и система автоматом прописала все необходимые настройки на сервере и создала DNS записи. Причем, добавляя example.ru, также добавляется запись для www.example.ru. Эти доменные имена привязываются к одной общей папке, в которой при необходимости склеить домены с www и без используя файл .htaccess, переадресацию и всем известные директивы, легко добиться желаемого.

Для тех же, кто использует VDS/VPS сервера и администрирует их самостоятельно, вопрос переадресации с www на без немного сложнее. Эта полная инструкция по настройке переадресации на примере сервера с установленной Ubuntu вам в помощь.

Инструкция по привязке домена с www и настройки переадресации с www на без

Допустим для домена example.ru уже созданы DNS записи и сайт уже работает на сервере.

Чтобы привязать домен третьего уровня www.example.ru к северу для необходимо создать аналогичную A-запись в DNS. Учтите, что для обновления данных в DNS может уйти от нескольких часов.

Далее открываем для редактирования файл конфигурации apache /etc/apache2/sites-available/000-default.conf, с помощью директивы ServerAlias устанавливаем альтернативные имена хостов, для использования с основным именем. Получаем примерно следующее содержание для виртульного хоста:

<VirtualHost *:80>
	
	ServerAdmin webmaster@mail.ru

	ServerName example.ru
	ServerAlias www.example.ru

	DocumentRoot /var/www/html

	<Directory /var/www/html/>
		AllowOverride All
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Для работы переадресации должен быть включен mod_rewrite. Включаем mod_rewrite командой из консоли:

sudo a2enmod rewrite

Рестартим apache:

sudo service apache2 restart

Готово! Необходимы настройки сделаны, теперь в .htaccess в корне папки сайта example.com добавляем:

<IfModule mod_rewrite.c>

  RewriteEngine On

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

</IfModule>

Комментарии

Использую в своей работе