WordPress のサブディレクトリに複数のウェブサイトを作成することができます。実際、WordPress 公式にはマルチサイト機能がありますが、一部の拡張性が制限される可能性があります。あなたが遭遇していないかもしれませんが、私は遭遇しましたので、ここでサブディレクトリでのサイト作成方法を詳しく記録します。
この記事は 29 日に書かれましたが、まだ公開されていません...
ここでのテスト環境は nginx+php7.4+mysql5.7 で、通常のインストール環境であり、複数のドメインアクセスが有効になっています。
複数のドメインアクセスを有効にするには、wp-config.phpの **define ('WP_DEBUG', false);** の下にコードを追加するだけです!
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);
サブディレクトリのサイトでも複数のドメインを有効にしたい場合、この方法は使用できません。ブログをサブディレクトリのサイトとして設定する場合、コードは次のようになります:
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/blog');
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/blog');
もちろん、この変更は blog/wp-config.php で行う必要があります。
チュートリアルの開始:#
現在、ウェブサイトのルートディレクトリにはすでに WordPress サイトがあります。新しい WordPress インストールパッケージをアップロードするために、ディレクトリ blog を作成し、ドメイン + blog にアクセスしてインストールを行います!
現在、WordPress はサブディレクトリへのインストールを完全にサポートしています。以前はサポートされていませんでしたが、直接インストールするだけです。
データベースの入力時に注意する必要があります。データベースの接頭辞を変更する必要があります。すでに wp という名前のサイトがある場合は、wp2 または wp3 などに変更してください。
仮想的な静的ルール#
現在、メインサイトの仮想的な静的ルールは次のようになっています:
location /
{
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
サブディレクトリのサイトを追加した場合、仮想的な静的ルールは次のようになります:
location /
{
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location /blog
{
try_files $uri $uri/ /blog/index.php?$args;
}
rewrite /blog/wp-admin$ $scheme://$host$uri/ permanent;
複数のサイトがある場合は、必要に応じて仮想的な静的ルールを追加する必要があります。
これにより、2 つのサイトは独立したデータベースとプログラムになります。このシナリオは、異なるテンプレート間の相互通信に適用でき、別々に管理する必要がありません。
能力がある場合は、2 つのサイトが 1 つのユーザーデータテーブルなどの拡張機能を共有することも研究できます。
私は、最も重要な応用シナリオは大規模なウェブサイトであり、記事の数が増えるとクエリが遅くなるため、各カテゴリを個別のウェブサイトとして分離することです。
これにより、データベースのサイズが小さくなり、クエリの処理が少し高速化され、さらに多くのテンプレートの拡張性が得られます。