Универсальный код для склейки домена с www и без него

Итак, займёмся склейкой сайта с www и без него. Лично я, например, считаю, что www это бесполезный на сегодняшний день пережиток прошлого, но вот Гугл, Яндекс и хотя бы тот же Microsoft со мной в данном вопросе не соглашаются и упорно редиректят своих посетителей на домен с www. Поэтому мы рассмотрим обе версии склейки, туда и обратно.

Следующие фрагменты кода являются универсальными, то есть их можно использовать для любого домена без изменений. Ну, кроме таких редких доменов как www.ru, www.com, www.net и им подобных, шанс обладания которыми у обычного вебмастера стремится к нулю.

Приступим. Как склеить домен с www и без него?

Конфигурация для Apache

Код добавляем в файл .htaccess в корне сайта.

www.example.com => example.com

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=permanent]

example.com => www.example.com

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=permanent]

Конфигурация для nginx

Открываем файл /etc/nginx/nginx.conf, находим секцию server нужного домена, и вставляем код после директивы server_name.

www.example.com => example.com

if ($host ~* ^www\.(.+)$) {
	set $newhost $1;
	rewrite ^ http://$newhost$request_uri permanent;
}

example.com => www.example.com

if ($host !~* ^www\.) {
	rewrite ^ http://www.$host$request_uri permanent;
}

Если на сервере наблюдается такая достаточно распространённая картина, когда nginx работает в качестве прокси для Apache, самостоятельно отдавая статический контент, то склеивание достаточно настроить только для nginx.

kaspersky internet security 2017 код активации на 365 дней. podłoga na taras, windoor drzwi i. барные стулья купить недорого в интернет-магазине mebli-signal.com.ua в Украине