ワードプレスドクターのお客様から何度か、ご相談いただくHTACCESSが消えてしまう、設定が途中で切れて、500エラーになる事例につきまして、その原因について弊社の調査結果を共有いたします。
SiteGuardプラグインのHTACCESS処理
SiteGuardプラグインはおそらく国内で最も普及している、主にワードプレスのログイン画面のセキュリティーを高めるプラグインで、機能も充実している簡単設定の優れたプラグインです。
ただ、ワードプレスドクター宛に、何度かHTACCESSが消えるというご相談をいただくことがあるのですが、その際にほぼ必ずこちらのプラグインが導入されており、こちらのプラグインを停止すると状況が改善したとの報告も頂いたことがございます。
SiteGuardプラグインがHTACCESSを切ったり、消去してしまうことが稀にある原因
この原因つきまして当社で調べましたところ、下記のファイルのコードにこのような部分がいくつかございます。
ファイル名 wp-content/plugins/siteguard/classes/siteguard-htaccess.php
このコードは、HTACCESSファイルの内容を1行ずつ、4096文字(バイト)読みだして、処理して保存するという意味になります。
ただ、このコードが問題を引き起こす可能性がございます。
1 改行コードが\nでない場合に複数の行が1行として読み込まれてしまう
2 その際にその行が4096文字(バイト)以上になった場合そのバイト数で切断されてしまう
3 もし上記のように途中で4096文字(バイト)でHTACCESSが切れてしまった場合、ほかのプラグインの設定が読み込めなくなって、HTACCESSを空っぽにしてしまう可能性がある。
4 もしHTACCESSが途中で切れた場合、HTACCESSの設定不全になり、500エラーが出る可能性がある
現時点では、プラグインのこの部分はアップデートが提供されておりませんので、サーバーや、ほかのプラグインが\n以外の改行コードで設定を書き込んでいる場合、上記htaccessが途中で切れる問題がごく稀ではありますが発生する可能性がございます。