0

現在、ワードプレスのマルチサイト/パーマリンク/書き換えルールの問題に直面しています。私のワードプレスのウェブサイトはマルチサイトを使用しています。「exemple.fr」への 2014 年の Web サイト リンクと、「exemple.fr/2015/」への 2015 年の 2 番目の Web サイトがあります。ご想像のとおり、マルチサイト用にサブフォルダー構成を使用しています。

この問題は、ホームを除くすべてのページで 404 エラーを返す 2 番目の Web サイト (2015) で発生します。最初のものは例外として機能します。私がすでに試したこと:

  • mod_rewrite は有効です
  • 私のvhostファイルには、AllowOverride Allという命令があります
  • サブディレクトリを持つマルチサイトのデフォルトのワードプレスファイルである.htaccessファイルは次のとおりです。
# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

# END WordPress
  • 2015 年の Web サイトでパーマリンクを「デフォルト」に設定すると、問題は解消されますが、リンクは希望どおりではありません。

助言がありますか ?

4

1 に答える 1

3

何時間もの試行錯誤の末、ようやく機能するようになりました。この問題は、プラグイン "Polylang" ( https://wordpress.org/plugins/polylang/ ) との競合から発生します。このプラグインは Web サイトにインストールされ、使用も構成もされませんでした。

プラグインが Web サイトでアクティブ化され、パーマリンク設定を保存すると、設定が壊れました (データベースでは、wp_option rewrite_rules ですべてのパターンの前にある「blog/」が欠落していました)。プラグインを無効にしてパーマリンク設定を再度保存すると、再び機能します。プラグインが Web サイトにインストールされて以来、誰もこの構成を保存していないと思います。先週、私のクライアントはパーマリンクの構成を変更しようとして、その問題に遭遇した可能性があります。

特定の卑劣なバグをデバッグするときは、すべてのプラグインを無効にすることを忘れないでください (そして、私が行ったようなデバッグの 1 日後にはおそらくより良いでしょう)、それが私のアドバイスです!

于 2015-05-06T07:45:13.757 に答える