WordPressサイトで.htaccessを編集していないのに、内容が書き換わっていることがありました。
不正アクセスで書き換えられた?と思ったりもしましたが、実は違いました。
原因がわからず、小一時間悩んだのですが、原因がわかったのでこの記事でメモしておきたいと思います。
プラグイン削除時にも.htaccessは書き換えられることがある
いきなり結論です。
WordPressのプラグインは.htaccessに追加で設定を追加するものがあります。
セキュリティ系のプラグインや画像圧縮系のプラグイン、キャッシュプラグインなどです。
これらのプラグインを導入した後に、プラグインを削除するとします。
WordPress公式プラグインや有名プラグインの場合は、削除時に変更した内容を元に戻すプロセスが走ります。
その時に、.htaccessへの書き換えが発生してタイムスタンプが変更されます。
変更内容だけを元に戻してくれればいいのですが、追加する時の目印を消してしまったりすると意図しない部分まで消されてしまうことがあります。
.htaccessのコメントが重要
.htaccessには自動的に追加されたコードにはコメントが追加されるのが一般的です。
例えば、Wordpressのリライトルールの部分は以下のように、BEGINとENDで囲われています。
この目印を削除すると他のプラグインなどに勝手に消されてしまう可能性があります。
# BEGIN WordPress
:
:
# 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のWordpressの必須記述はBEGINとENDのコメントで囲われるのが通常ですが、何らかの理由でコメントが無い場合もあります。
その場合は、他のプラグインを削除するときに.htaccessから一緒に削除されてしまう可能性があります。
そうならないためにも、.htacessの記述を確認しておいた方がよいと思います。
設定⇒パーマリンク設定⇒更新を行えば、.htaccessは復活します。