web-dev-qa-db-ja.com

WordPressは.htaccessに書き換え規則を書き続けています

WordPressは、エラーが発生してサーバーが500 Internal server errorを返すまで、何度も何度も書き換え規則を.htaccessに書き込みます...

つまり、私の.htaccessは

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

何度も何度も何度も繰り返した。

それ自体では、それは大した問題ではありません(ただし、私の.htaccessが数MBになると、サイトの速度が大幅に低下します)。しかし時折、サイトをダウンさせる.htaccessにいくらかのゴミが現れるでしょう(500 Internal Server Error)

1
OC2PS

これがなぜ起こるのか私にはわかりませんが、あなたはあなたの.htaccessへのすべての書き込みアクセスを簡単なフィルタで止めることができます:

add_filter( 'flush_rewrite_rules_hard', '__return_false' );

WordPressもflush_rewrite_rules()を呼び出しているプラ​​グインもファイルに何かを書き込めません。 insert_with_markers()のように、ファイルにアクセスしてファイルを変更する他の方法でもうまくいきます。

4
fuxia