既存のBedrockベースのマルチサイトインスタンスをnginxに移動しようとしていますが、元の.htaccessを模倣するための一連のnginxルールを取得するのが困難です。 Bedrockはファイルの核心部分をwp /サブディレクトリに置きますが、URLはルートドメインからアクセス可能である必要があります。
.htaccessは次のとおりです。
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).*) wp/$1 [L]
RewriteRule ^(.*\.php)$ wp/$1 [L]
RewriteRule . index.php [L]
少なくともnginxのconfルール、できればnginxのvhostルールとしてこれらが必要です。
rewrite /wp-admin$ $scheme://$Host$uri/ last;
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;
これらはあなたが必要とする同等の書き換え規則です。この書き換えを使用するときは、site_urlを/ wpに設定する必要はもうありません。
私はいくつかのテストを終える必要がありますが、結果をここに更新します。
わかりました賢い人が私の最後の投稿を削除しました。
上記のメンバー(@etc)が別のフォーラムで私にくれた、そして非常にうまくいっている答えは以下の通りです:
# Rewrites for Bedrock Multi-Site Subdomain Setup
rewrite /wp-admin$ $scheme://$Host$uri/ last;
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;
彼は答えを修正しましたが、ここに投稿しませんでした。私はこのスレッドをまたいで走ったときにそれを更新したいだけでした。