異なるドメイン名でWordpressマルチサイトを使用する方法は?


18

WordPressマルチサイトで作業したいが、自分の名前を使用できるようにしたい。たとえば、私のメインサイトはという名前example.comです。マルチサイトネットワークに新しいサイトを追加する場合は、を呼び出しnewsite.example.comます。私はそれになりたいnewsite.comなしexample。これを達成する方法はありますか?

プラグインを使用したドメインマッピングについて聞いたことがありますが、これがこの質問に関連するかどうかはわかりません。関連する場合、これが正確に何であるかを知りたいと思います。


プラグインなしで処理するには、専用IPが必要になることに注意してください。少なくともそれは私の理解です。
ニールジョーンズ

回答:


24

このトピックについては、常に少し混乱しているようです。おそらくWordPressは、このプロセスでユーザーをガイドするより良い仕事をすることができます。ただし、マルチサイトはTLDに使用するためのものではなかったと思います。

まず最初に、WordPressインストールし、multisiteセットアップして、サブドメインネットワーク構成として構成します。

wp-config.phpWordPressインストールのベースディレクトリにあるファイルの設定例を次に示します。

/* 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 );

次に、.htaccessWordPressインストールのベースディレクトリに、サブドメイン構成としてのファイルの基本構成を示します。

# 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サイトの実際のドメイン名を入力します。

そのようにするのは少し難しいことですが、機能するため、プラグインを使用する必要はありません。


これをありがとう、動作するようです-そして、それはクッキーの部分を必要とするようでした。私にとっては、1)新しいドメインを登録し、2)ネームサーバーを既存のWordPressマルチサイトホストに向け、3)cPanelで、アドオンドメインを実行し、ドキュメントルートをプライマリサイトと同じpublic_html(あなたのような)に設定しました)私はそうではないことを確認それがうまくいく場合は、新しいディレクトリを、それをデフォルトの方法を試していなかった、と4)からサブサイトのURLを変更すると、前記oldsubdomain.primarysite.comnewdomain.com ので、何のDNSの問題を越えていない指遠い。
ロバートアンドリュース

私はこの答えが大好きです...まだ問題があります。ワードプレスも同じ変更を行ったため、.htaccessを変更することをお勧めします。この変更を行うと、システムがクラッシュします。なぜそうなるのでしょうか?
デビー・カース

4

いくつかのリリース前からプラグインなしでも可能です(具体的なリリースを思い出せませんが、この機能はしばらくの間存在していました)。ただし、ゼロから開始する場合は、WordPressマルチサイトをサブドメインモードでインストールする必要があります。

メインURL(おそらくkevin123.com)をネットワーク(マルチサイト)のメインURLとして宣言する必要があります。これは定数に保存されwp-config.phpDOMAIN_CURRENT_SITEこのドメインをホームURLとして使用するサイト(旧称»ブログ«)のIDはに保存されている必要がありますBLOG_ID_CURRENT_SITE。しかし、これは標準のインストールプロセス中のほとんどのデフォルトのものです。

WordPressでは、新しいサイトを作成するときに、サブドメインのみを指定できます。ただし、サイトが作成されたら、それを編集して、サイトURLに完全に任意の値を追加できます。少し前に、スクリーンショットを使用してこの回答で説明しました。ネストされたサブドメインはサブドメインマルチサイトで可能ですか?

また、で定数COOKIE_DOMANを空の値に設定する必要がある場合がありますwp-config.php

define( 'COOKIE_DOMAIN', '' );
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.