it-swarm.xyz

Как использовать Wordpress Multisite с разными доменными именами?

Я хочу работать с мультисайтом WordPress, но хочу использовать свои собственные имена. Например, мой основной сайт называется example.com. Если я хочу добавить новый сайт в свою многосайтовую сеть, он будет называться newsite.example.com. Я хочу, чтобы это было newsite.com без example. Есть ли способ добиться этого?

Я слышал о сопоставлении доменов с помощью плагина, но я не знаю, относится ли это к этому вопросу. Если это уместно, я хотел бы знать, что именно это.

16
Kevin.a

Кажется, всегда есть немного путаницы в этой теме. Возможно, WordPress лучше справится со своими пользователями в этом процессе. Хотя, я полагаю, Multi-site не предназначался для использования в TLD.

Итак, прежде всего, я бы установил WordPress , setup multisite и настроил его как конфигурацию сети субдомена.

Вот пример конфигурации вашего файла wp-config.php в базовом каталоге вашей установки WordPress:

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'www.primary-domain.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

Затем, вот базовая конфигурация для вашего файла .htaccess в качестве конфигурации субдомена, в базовом каталоге вашей установки WordPress:

# BoF WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ wp/$1 [L]
RewriteRule . index.php [L]

# EoF WordPress

Теперь, чтобы заставить TLD работать должным образом, мне пришлось внести некоторые дополнительные настройки в файл wp-config.php, например:

define( 'COOKIE_DOMAIN', '' );
define( 'ADMIN_COOKIE_PATH', '/' );
define( 'COOKIEPATH', '/' );
define( 'SITECOOKIEPATH', '/' );

Вот и все с конкретными конфигурациями WordPress.

Лично мне нравится иметь один виртуальный хост Apache для основного домена в сети, а затем настраивать этот виртуальный хост с псевдонимами доменов. Каждый псевдоним домена является одним из дополнительных сайтов в вашей сети.

Тем не менее, в конечном итоге вы настраиваете свои настройки, вам нужно, чтобы DNS каждого домена разрешался на один и тот же веб-сервер, и чтобы каждый домен указывал на один и тот же каталог, основной домен которого установлен с WordPress. Каждый домен в вашей сети должен указывать на один и тот же веб-сервер с записями DNS и использовать один и тот же путь к каталогу для файлов, используемых WordPress.

Как только вы все настроили и настроили правильно, как описано выше. Войдите в свою область администрирования WordPress и перейдите в область администрирования сети, чтобы добавить новый сайт в свою сеть.

Когда вы собираетесь добавить сайт, он будет принудительно добавлять сайт, как если бы он был субдоменом вашего основного домена. Просто катись с этим. Введите что-то временное.

Как только сайт будет добавлен, найдите его в списке сайтов в вашей сети. Нажмите изменить на этом конкретном сайте. Теперь вы можете полностью изменить доменное имя этого сайта на 100%. Тогда вы бы указали фактическое доменное имя для этого сайта TLD.

Я знаю, что это немного сложно, но это работает, и вам не нужно использовать какие-либо плагины.

20
Michael Ecklund

Это возможно без какого-либо плагина с некоторых выпусков назад (не могу вспомнить конкретный выпуск, но функция была там некоторое время). Однако, если вы начинаете с нуля, вам нужно установить мультисайт WordPress в режиме поддомен .

Вы должны объявить основной URL (вероятно, kevin123.com) в качестве основного URL для сети (мультисайтовый). Он хранится в wp-config.php в константе DOMAIN_CURRENT_SITE, а сайт (ранее известный как "blog"), использующий этот домен в качестве домашнего URL, должен иметь идентификатор, сохраненный в BLOG_ID_CURRENT_SITE. Но это стандартная вещь во время стандартного процесса установки.

WordPress позволяет указывать только субдомен, при создании новый сайт. Но после создания сайта вы можете отредактировать его и добавить совершенно произвольное значение для URL сайта. Я описал это некоторое время назад в этом ответе с некоторыми снимками экрана: Возможны ли вложенные субдомены с мультисайтом субдомена?

Вам также может понадобиться установить константу COOKIE_DOMAN в пустое значение в вашем wp-config.php:

define( 'COOKIE_DOMAIN', '' );
4
David