ホーム サイト構築の知識 標準記事

標準記事

WordPressマルチサイト有効化図解チュートリアル(疑似静的ルール付き)

WordPress マルチサイトについては、Naiba も何度か耳にしていました。最近 Naiba のテーマデモサイトを研究する際にマルチサイト機能を使用したので、ここで WordPress でマルチサイトを構築する具体的な手順と方法を記録・共有します。この記事で触れていない点については、公式ドキュメントを参照してください。WordPress マルチサイトの紹介 通常は…

2021年6月15日更新 約4分で読めます
WordPress开启多站点图文教程(附带伪静态规则)

WordPressマルチサイトについては、Naibaは何度も聞いたことがあります。最近研究NaibaのテーマDEMOこのサイトではマルチサイト機能を使用したため、WordPress でマルチサイトを構築する具体的な手順と方法を記録して共有します。

この記事で触れていない点については、以下を参照してください。公式ドキュメント

WordPressマルチサイト紹介

通常、WordPress サイトを構築する際の標準的な手順は次のとおりです。仮想ホストの追加、ドメインのバインド、インストールパッケージのアップロード、データベースの作成、WordPress のインストール。

一方、WordPress マルチサイト(サブディレクトリモード)では、マルチサイトモードを有効にして新しいサイトを追加するだけで済みます。

サブドメインモードのマルチサイトの場合は、さらにドメインバインドが必要になります。また、通常のインストール方法よりも迅速で、一度に複数のサイトを作成したい人に適しています。

これらのマルチサイトはメインサイトのデータベース、テーマファイル、プラグインファイルを共有するため、メインサイトにあるリソースはサブサイトでもそのまま使用でき、テーマやプラグインを重複してインストールする手間が省けます。

同時に、マルチサイトのユーザーデータも相互に連携しており、アップグレードする場合はメインサイトのみアップグレードすれば、他のサブサイトも自動的にアップグレードされます。

WordPressマルチサイト有効化チュートリアル

この記事はWordPress 5.2に基づいて作成されています。

まず、マルチサイトを有効にするWordPressサイトの設定ファイルwp-config.phpに、このコード行を追加します。

define('WP_ALLOW_MULTISITE', true);

WordPress多站点教程

コードを /* That’s all, stop editing! Happy blogging. */ という行の直上の行に追加します。

その後、サイト管理画面をリフレッシュすると、「ネットワークを設定」オプションが表示されます。下図の通りです。

WordPress多站点教程

サブドメインとサブディレクトリから選択できます。必要に応じて選択してください。

サブドメインとは、1つのサイトが1つのドメインに対応することを意味します。Naibaはサブドメイン形式をテストしていません。また、他のドメインをバインドしたい場合は、このチュートリアルを参照

サブディレクトリとは、現在のドメインの後ろにフォルダ形式で追加する方法です。例えば、Naiba のテーマデモでは、1つのサブディレクトリで1つのテーマをデモ表示します。

インストール後、以下のコードをコピーして設定ファイル wp-config.php に追加してください。先ほど追加したコードの次の行に追加します。

WordPress多站点教程

WordPress管理画面を再度更新すると、サイトオプションが表示されます。

WordPressマルチサイトのNginxの擬似静的(リライト)ルールはここにはありません。Apacheのものしかありません。Nginxの擬似静的ルールについては、後ほどNaibaが共有します。

WordPress多站点教程

新しいサイトを追加し、対応する情報を入力して追加するだけです。プラグインを有効にしている場合は、すべてのプラグインを手動で無効にする必要があります。

WordPress多站点教程

WordPressマルチサイトNginx疑似静的ルール

追加が完了したら、先ほど追加したサブサイトにアクセスすると、ページのレイアウトが崩れていることがわかります。これは、擬似静的ルールがまだ追加されていないためです。擬似静的ルールを追加すれば解決します。

WordPress多站点教程

現在Naibaが使用しているWordPressマルチサイトのNginx擬似静的ルールは以下の通りです

# wordpress固定链接设置
  try_files $uri $uri/ /index.php?$args;

  # 管理面板添加斜杠
  rewrite /wp-admin$ $scheme://$host$uri/ permanent;

  # 传递上传文件给 wp-includes/ms-files.php
  rewrite /files/$ /index.php last;

  # 重写多站点 '.../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;
  }

別のルール

#ignored: “-” thing used or unknown variable in regex/rew
rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
if (-f $request_filename){
set $rule_2 1;
}
if (-d $request_filename){
set $rule_2 1;
}
if ($rule_2 = "1"){
#ignored: “-” thing used or unknown variable in regex/rew
}
rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last;
rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
rewrite /. /index.php last;
4.3/5 - (14 票)
前の記事 #サイト構築#LNMPでWordPressをインストールする図解・動画チュートリアル 同じタイムラインの近くのコンテンツを読み続ける。 次の記事 LNMPで複数バージョンのPHPをインストールし、php5.6とphp7を共存させる方法 次の関連チュートリアルや経験を表示する。

AIサイト構築アシスタント

🤖
こんにちは!私はNaibaサイト構築ノートのAIアシスタントです。何かお手伝いできることはありますか?
クイックコンサルティング: