Мультидоменная переадресация (+ с www +на кириллических доменах) на nginx

Т.к. большинство моих и клиентских сайтов на wordprss даже в 2019 году работает на сервере под управлением Ubuntu + nginx + apache + php mpm-itk, и многие из них не имеют до сих пор правильной переадресации с www на домен без www (или наоборот), а так же на некоторых сайтах есть по несколько доменов, а некоторые клиентские сайты содержат до 5 дополнительных доменов, которые просто созвучны, а какие-то ещё и имеют кириллическую версию или наоборот, то правильным было бы настроить таки переадресацию и не средствами .httaccess (от apache я планирую избавиться после переноса всех старых сайтов на новый сервер под ubuntu 18.04, который настраиваю на текущий момент). Ну так вот, когда-нибудь я может перепишу и эту статью, а пока:




Если вам нужно сделать переадресацию с дополнительных доменов, с www на основной домен, то вот вам образец конфигурации nginx, который я использую сам:




Открываем файл конфигурации вашего сайта:




sudo nano /etc/nginx/sites-available/YOURDOMAIN




Далее добавляем в самое начала файла пару строчек:




server {
listen 80;
server_name *.YOURDOMAIN.ru YOURDOMAIN2.ru *.YOURDOMAIN2.ru xn----9sbkenr8bkrs.xn--p1ai *.xn----9sbkenr8bkrs.xn--p1ai;
return 301 http://YOURDOMAIN.ru$request_uri;
}

далее ваши стандартные настройки:

server {
listen 80;
server_name YOURDOMAIN.ru;
server_tokens off;
....
}




После чего сохраняем и обновляем конфигурацию nginx без перезагрузки командой:




sudo service nginx reload




Думаю, что вам и без этого комментария понятно, что мы делаем переадресацию с параметрами на YOURDOMAIN.ru




Переадресовываем мы с кириллического домена и ЛЮБОГО ЕГО ПОДДОМЕНА хуб-лидсец.рф, указав его punycode версию:




xn—-9sbkenr8bkrs.xn--p1ai *.xn—-9sbkenr8bkrs.xn--p1ai




Так же мы делаем переадресацию с ЛЮБОГО ПОДДОМЕНА YOURDOMAIN.ru (за исключением самого домена) при помощи:




*.YOURDOMAIN.ru




Так же мы делаем переадресацию с ЛЮБОГО ДОМЕНА И ПОДДОМЕНА YOURDOMAIN2.ru при помощи:




YOURDOMAIN2.ru *.YOURDOMAIN2.ru




Так же вы можете добавить SSL, думаю, что допишу это чуть позже, но это не точно 🙂



2019-04-21T01:23:28
wordpress