web-dev-qa-db-ja.com

プラグインを使わずにWordpress Multisiteを複数のドメインに設定する方法

Wordpress Multisiteのサブフォルダ設定をプラグインなしで複数のドメインに設定するにはどうすればいいですか?

例えば、私が2つのドメインwww.domain-one.comと2番目のwww.domain-two.comを持っているならば、私は以下のようなサイトを持ちたいです:www.domain-one.cz - ルートのサイト、www.domain-one。 cz/anothersite/ - 最初のドメインのサブフォルダのサイト、次に2番目のドメインの同じ可能性、それは可能ですか?

実際に私は複数のドメイン上でそれを行うことができますが、行72のwp-includes/ms-settings.phpの1つの条件の変更で:

if ( $blogname != '' && ! in_array( $blogname, $reserved_blognames ) && ! is_file( $blogname ) && $domain != 'www.domain-two.com' )

そしてそれらのサイトにログインできるようにするには、settings.phpに追加のコードを追加する必要があります(これは新しいワードプレスには必要ないようです)。

if($_SERVER['HTTP_Host'] == 'www.domain-two.com')
    define('COOKIE_DOMAIN', 'www.domain-two.com');

これは、まったく簡単な解決策です。複数のサイトを持つことができますが、それらの追加ドメイン内にサブフォルダを持つサイトはできません。メインドメイン(そして複数の追加ドメイン)にのみサブフォルダサイトを持つことができます。

実際には、プラグインなしでコアのコードを変更せずにこれを実行するオプションがない場合、コアの変更でtiを実行するオプションがある場合はどうなりますか?それとも正確にこれを行うことができるいくつかのプラグインはありますか? sunrise.phpはどうなりますか。

4
Roman

COOKIE_DOMAINに定数wp-config.phpを設定することが重要です。

define( 'COOKIE_DOMAIN', '' );

値は空でなければなりません、そうでなければWordPressはあなたのネットワークの$current_site->domainにそれを常に設定するでしょう、そしてあなたは他のどのサイトにもログインすることができません。

コアから

       /**
         * @since 2.0.0
         */
        if ( !defined('COOKIE_DOMAIN') && is_subdomain_install() ) {
                if ( !empty( $current_site->cookie_domain ) )
                    define('COOKIE_DOMAIN', '.' . $current_site->cookie_domain);
                else
                        define('COOKIE_DOMAIN', '.' . $current_site->domain);
        }

これで、ネットワーク内の各サイトの設定でドメインを設定できます。

Sceenshot Settings

3
bueltge