как использовать wordpress multisite с разными доменными именами?

<p>я хочу работать с мультисайтом wordpress, но хочу использовать свои собственные имена. например, мой основной сайт называется <code>example.com</code>. если я хочу добавить новый сайт в свою многосайтовую сеть, он будет называться <code>newsite.example.com</code>. я хочу, чтобы это было <code>newsite.com</code> без <code>example</code>. есть ли способ добиться этого?</p><p>я слышал о сопоставлении доменов с помощью плагина, но я не знаю, относится ли это к этому вопросу. если это уместно, я хотел бы знать, что именно это.</p>

<p>кажется, всегда есть немного путаницы в этой теме. возможно, wordpress лучше справится со своими пользователями в этом процессе. хотя, я полагаю, multi-site не предназначался для использования в tld.</p><p>итак, прежде всего, я бы <a href="https://codex.wordpress.org/installing\_wordpress">установил wordpress</a> , <a href="https://codex.wordpress.org/create\_a\_network">setup multisite</a> и настроил его как конфигурацию сети субдомена.</p><p>вот пример конфигурации вашего файла <code>wp-config.php</code> в базовом каталоге вашей установки wordpress:</p><pre><code>/* 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 ); </code></pre><p>затем, вот базовая конфигурация для вашего файла <code>.htaccess</code> в качестве конфигурации субдомена, в базовом каталоге вашей установки wordpress:</p><pre><code># 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 </code></pre><p>теперь, чтобы заставить tld работать должным образом, мне пришлось внести некоторые дополнительные настройки в файл <code>wp-config.php</code>, например:</p><pre><code>define( 'cookie\_domain', '' ); define( 'admin\_cookie\_path', '/' ); define( 'cookiepath', '/' ); define( 'sitecookiepath', '/' ); </code></pre><p>вот и все с конкретными конфигурациями wordpress.</p><p>лично мне нравится иметь один виртуальный хост apache для основного домена в сети, а затем настраивать этот виртуальный хост с псевдонимами доменов. каждый псевдоним домена является одним из дополнительных сайтов в вашей сети.</p><p>тем не менее, в конечном итоге вы настраиваете свои настройки, вам нужно, чтобы dns каждого домена разрешался на один и тот же веб-сервер, и чтобы каждый домен указывал на один и тот же каталог, основной домен которого установлен с wordpress. каждый домен в вашей сети должен указывать на один и тот же веб-сервер с записями dns и использовать один и тот же путь к каталогу для файлов, используемых wordpress.</p><p>как только вы все настроили и настроили правильно, как описано выше. войдите в свою область администрирования wordpress и перейдите в область администрирования сети, чтобы добавить новый сайт в свою сеть.</p><p>когда вы собираетесь добавить сайт, он будет принудительно добавлять сайт, как если бы он был субдоменом вашего основного домена. просто катись с этим. введите что-то временное.</p><p>как только сайт будет добавлен, найдите его в списке сайтов в вашей сети. нажмите изменить на этом конкретном сайте. теперь вы можете полностью изменить доменное имя этого сайта на 100%. тогда вы бы указали фактическое доменное имя для этого сайта tld.</p><p>я знаю, что это немного сложно, но это работает, и вам не нужно использовать какие-либо плагины.</p>

<p>это возможно без какого-либо плагина с некоторых выпусков назад (не могу вспомнить конкретный выпуск, но функция была там некоторое время). однако, если вы начинаете с нуля, вам нужно установить мультисайт wordpress в режиме<em> поддомен </em>.</p><p>вы должны объявить основной url (вероятно, <code>kevin123.com</code>) в качестве основного url для сети (мультисайтовый). он хранится в <code>wp-config.php</code> в константе <code>domain\_current\_site</code>, а сайт (ранее известный как "blog"), использующий этот домен в качестве домашнего url, должен иметь идентификатор, сохраненный в <code>blog\_id\_current\_site</code>. но это стандартная вещь во время стандартного процесса установки.</p><p>wordpress позволяет указывать только субдомен,<em> при создании </em>новый сайт. но после создания сайта вы можете отредактировать его и добавить совершенно произвольное значение для url сайта. я описал это некоторое время назад в этом ответе с некоторыми снимками экрана: <a href="https://wordpress.stackexchange.com/questions/140767/are-nested-subdomains-possible-with-a-subdomain-multisite/184667#184667">возможны ли вложенные субдомены с мультисайтом субдомена?</a> </p><p>вам также может понадобиться установить константу <code>cookie\_doman</code> в пустое значение в вашем <code>wp-config.php</code>:</p><pre><code>define( 'cookie\_domain', '' ); </code></pre>