WordPressのマルチサイトで作業したいのですが、自分の名前を使用できるようにしたいです。たとえば、私のメインサイトはexample.com
です。マルチサイトネットワークに新しいサイトを追加したい場合は、newsite.example.com
と呼びます。私はそれがexample
なしでnewsite.com
であることを望みます。これを達成する方法はありますか?
プラグインを使ったドメインマッピングについて聞いたことがありますが、これがこの質問に関連しているかどうかはわかりません。それが関連しているならば、私はこれが正確に何であるかについて知りたいです。
このトピックについては常に少し混乱があるようです。たぶんWordPressはこのプロセスでそれをユーザーに導くよりよい仕事をすることができました。ただし、Multi-siteはTLDに使用することを目的としていないと思います。
だからまず第一に、私は WordPressをインストールする 、 セットアップマルチサイト そしてサブドメインネットワーク設定としてそれを設定する。
これがあなたのWordPressインストールのベースディレクトリにあるあなたのwp-config.php
ファイルの設定例です:
/* 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 );
それでは、WordPressインストールのベースディレクトリにある、サブドメイン設定としての.htaccess
ファイルの基本設定は以下のようになります。
# 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固有の設定は完了です。
個人的には、ネットワーク内のプライマリドメインに1つのApache仮想ホストを設定してから、その仮想ホストにエイリアスドメインを設定します。各エイリアスドメインは、ネットワーク内の追加サイトの1つです。
ただし、設定を微調整してしまうと、各ドメインのDNSを同じWebサーバーに解決し、各ドメインをプライマリドメインと同じディレクトリを指すように設定する必要があります。ネットワーク内の各ドメインは、DNSレコードを持つ同じWebサーバーを指し、WordPressが使用するファイルに対して同じディレクトリパスを共有する必要があります。
上記の説明に従って、すべての設定とセットアップが完了したら、 WordPressの管理領域にログインし、ネットワーク管理領域に移動して新しいサイトをネットワークに追加します。
あなたがサイトを追加しようとするとき、それはあなたがそれがあなたのプライマリドメインの下のサブドメインであるかのようにウェブサイトを追加することを強制します。それを転がすだけです。一時的なものを入力してください。
サイトが追加されたら、ネットワーク内のサイトのリストの下にそのサイトを見つけます。その特定のサイトで[編集]をクリックします。今、あなたは完全にそのWebサイトのドメイン名を100%変更することができます。このTLDサイトの実際のドメイン名を入力します。
そのようにするのは少し面倒なことだと思いますが、うまくいくのでプラグインを使用する必要はありません。
いくつかのリリース前からプラグインがなくても可能です(具体的なリリースは思い出せませんが、その機能はしばらく前からありました)。ただし、最初から始める場合は、WordPressマルチサイトをサブドメインモードでインストールする必要があります。
あなたは、メインURL(おそらくkevin123.com
)をネットワークのメインURL(マルチサイト)として宣言しなければなりません。これはwp-config.php
定数のDOMAIN_CURRENT_SITE
に格納され、このドメインをホームURLとして使用するサイト(以前は"blog"と呼ばれていました)はIDをBLOG_ID_CURRENT_SITE
に格納する必要があります。しかし、これは標準的なインストールプロセスの間のほとんどデフォルトのものです。
WordPressでは、サブドメイン作成時 _のみを指定できます。しかし、サイトが作成されたら、それを編集してサイトのURLに任意の値を追加することができます。私はいくつかのスクリーンショットでこの答えで少し前にそれを説明しました: サブドメインマルチサイトでネストされたサブドメインは可能ですか?
COOKIE_DOMAN
で定数wp-config.php
を空の値に設定する必要があるかもしれません。
define( 'COOKIE_DOMAIN', '' );