WordPressをnginx環境でサブドメインのマルチサイト化した時のメモです。
環境
- WordPress 5.3.2
- Nginx 1.12.2
- PHP 7.2
参考
Nginx + WordPress マルチサイト機能を有効にする | りんか IT備忘禄
DNSでワイルドカード設定
AWSであればRoute53で設定します。
*.hoge.com
wp-config.phpを編集
/** マルチサイト機能 */
define('WP_ALLOW_MULTISITE', true);
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
wordpress管理画面の設定
管理画面 > ツール > サイトネットワークの設置
今回はサブドメインにしたいので
サブドメインにチェックをして「インストール」
wp-config.phpを編集
wp-config.phpに以下を追加
/** マルチサイト機能 */
define('WP_ALLOW_MULTISITE', true);
// ここから追記
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'lala.selegee.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
nginxの設定ファイルを編集
apacheだと.htaccessですがnginxなのでnginxの設定ファイルを編集
server {
server_name *.hoge.com;
server_name hoge.com;
root /var/www/hoge/html;
listen 80;
listen [::]:80;
client_max_body_size 100M;
access_log /var/log/nginx/hoge.access.log;
error_log /var/log/nginx/hoge.error.log;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
try_files $uri $uri/ /index.php?$args;
# リライト
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
# Pass uploaded files to wp-includes/ms-files.php
rewrite /files/$ /index.php last;
# Rewrite multisite '.../wp-.*' and '.../*.php'.
if (!-e $request_filename) {
rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
rewrite ^/[_0-9a-zA-Z-]+.*(/wp-admin/.*\.php)$ $1 last;
rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
}
}
nginxを再起動
service nginx restart
管理画面からサイトを追加
管理画面の左上に「参加サイト」が追加されています!
サイトを追加できます!
以上です。お疲れ様でした。