私はあちこちを検索し、マルチサイトの設定、ドメインマッピング、そして私のローカルマシン上での仮想ホストの使い方さえも多くのチュートリアルを見つけました、しかしそれらの全てを実行する方法を見つけることができないようです。
Mysite-1.dev、mysite-2.dev、mysite-3.devなどの偽のドメイン名を使用して、自分のローカルホスト上でWordPressマルチサイトを実行したいと思います。
私はWindowsマシン上でApacheを使ってXAMPPを実行しています。 httpd-vhosts
ファイルでは、偽のドメインが移動するフォルダを指定する必要がありますが、WordPressマルチサイトを使用している場合は、その方法がわかりません。
これが私のhttpd-vhost
ファイルの一部です。
<VirtualHost *:80>
DocumentRoot "C:/home/mysite-1"
ServerName mysite-1.dev
Alias /mysite-1.dev "/home/mysite-1"
<Directory "/home/mysite-1">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/home/mysite-2"
ServerName mysite-2.dev
Alias /mysite-2.dev "/home/mysite-2"
<Directory "/home/mysite-2">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/home/mysite-3"
ServerName mysite-3.dev
Alias /mysite-3.dev "/home/mysite-3"
<Directory "/home/mysite-3">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
私のhostsファイルでは、私は持っています:
127.0.0.1 mysite-1.dev
127.0.0.1 mysite-2.dev
127.0.0.1 mysite-3.dev
WordPressでマルチサイトを設定し、必要に応じてwp-config.php
と.htaccess
ファイルを入力しました。
wp-config.ph
pファイルは次のとおりです。
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'mysite-1.dev');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define( 'SUNRISE', 'on' );
define('WP_TEMP_DIR',ABSPATH.'wp-content/uploads/');
そして.htaccess
は次のとおりです。
# BEGIN 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]
# END WordPress
このようにセットアップすることで、mysite-2.devとmysite-3.devに移動したときに、それはフォルダを調べ、c:/home/mysite-2.dev
とc:/home/mysite-3.dev
には何もないので、エラーが表示されます。
未定義の関数wp_get_current_user()を呼び出します。
c:/home/mysite-1.dev
では、WordPressのマルチサイトファイル、プラグイン、テーマなどがすべて揃っているので、問題なく動作します。
私はこれがおそらく設定上の問題であることを知っています、しかし私はそれを正しく設定する方法がわかりません。偽のドメインとドメインマッピングを使用してWordPressマルチサイトを設定することに対して正しい方向を向いている人はいますか?
よろしくお願いします。
各DocumentRoot
のVirtualHost
は、WP multisiteをインストールしたディレクトリを指す必要があります。サブサイト用の実際のディレクトリはありません。それらはすべて仮想です。
あなたの例を使用して:
<VirtualHost *:80>
DocumentRoot "C:/home/wp-intall-directory"
ServerName mysite-1.dev
# not required Alias /mysite-1.dev "/home/mysite-1"
<Directory "/home/wp-intall-directory">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/home/wp-intall-directory"
ServerName mysite-2.dev
# not required Alias /mysite-2.dev "/home/mysite-2"
<Directory "/home/wp-intall-directory">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
.
.
.