このトピックについては、常に少し混乱しているようです。おそらくWordPressは、このプロセスでユーザーをガイドするより良い仕事をすることができます。ただし、マルチサイトはTLDに使用するためのものではなかったと思います。
まず最初に、WordPressをインストールし、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)$ $1 [L]
RewriteRule . index.php [L]
# EoF WordPress
TLDを適切に動作させるために、次のwp-config.php
ようにファイルにいくつかの追加構成を行う必要がありました。
define( 'COOKIE_DOMAIN', '' );
define( 'ADMIN_COOKIE_PATH', '/' );
define( 'COOKIEPATH', '/' );
define( 'SITECOOKIEPATH', '/' );
これでWordPress固有の設定は終わりです。
個人的には、ネットワーク内のプライマリドメインに1つのApache仮想ホストを用意し、その仮想ホストをエイリアスドメインで構成するのが好きです。各エイリアスドメインは、ネットワーク内の追加サイトの1つです。
ただし、セットアップを微調整しても、各ドメインのDNSが同じWebサーバーに解決し、各ドメインがプライマリドメインとWordPressがインストールされている同じディレクトリを指す必要があります。ネットワーク内の各ドメインは、DNSレコードを持つ同じWebサーバーを指し、WordPressが使用するファイルの同じディレクトリパスを共有する必要があります。
上記で説明したように、すべてが適切に構成およびセットアップされたら、WordPress管理エリアにログインし、ネットワーク管理エリアに移動して、ネットワークに新しいサイトを追加します。
サイトを追加する場合、Webサイトをプライマリドメインの下のサブドメインであるかのように追加する必要があります。そのまま転がしてください。一時的なものを入力してください。
サイトが追加されたら、ネットワーク内のサイトのリストの下で見つけてください。その特定のサイトで[編集]をクリックします。これで、そのWebサイトのドメイン名を完全に100%変更できます。このとき、このTLDサイトの実際のドメイン名を入力します。
そのようにするのは少し難しいことですが、機能するため、プラグインを使用する必要はありません。