Представим ситуацию, что у вас есть сайт в зоне RU для русскоязычной аудитории, ваша компания росла и выходит на международный уровень и, конечно, не комильфо там иметь национальный домен и было бы лучше, если бы сайт одинаково открывался в обеих зонах.
Чтобы запустить несколько доменов с одним экземпляром WordPress, то есть связать несколько доменных имен с одним и тем же веб-сайтом WordPress, есть два варианта:
Вариант 1. Явное определение доменов
Я предпочитаю этот метод, поскольку он позволяет вам явно указывать доменные имена. Вам потребуется добавить следующий код в свой файл wp-config.php
...
if ($_SERVER['HTTP_HOST'] == 'www.mywebsite.com') {
define('WP_SITEURL', 'http://www.mywebsite.com');
define('WP_HOME', 'http://www.mywebsite.com');
} else {
// this is the default that shows up if someone visits your site
define('WP_SITEURL', 'http://www.mywebsite.net');
define('WP_HOME', 'http://www.mywebsite.net');
}
...
Вариант 2: Динамическое определение домена на основе оператора if
В этом случае вам нужно добавить следующий код в ваш файл wp-config.php
...
if($_SERVER['HTTP_HOST'] == 'www.mywebsite.com' || $_SERVER['HTTP_host'] == 'www.mywebsite.net'){
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
}
...
Этот код динамически обновляет ваши URL-адреса сайта и домашнюю страницу WordPress каждый раз, когда посетитель заходит на ваш сайт, если значение HTTP_HOST
является одним из вариантов в условном if
.
Итак, если я захожу на сайт www.mywebsite.com
, переменная $ _SERVER ["HTTP_HOST"]
сообщает моему коду, что пользователь посещает http://www.mywebsite.com
, и соответственно обновляет параметры WordPress.
if
. Причина в том, что нехороший человек может сделать так, чтобы ваш сайт отображался на своем доменном имени. Злоумышленник может просто обновить свои настройки DNS и указать запись A на ваш сервер, и тогда ваш веб-сайт будет отображаться, когда кто-то посещает их доменное имя.