WordPressの.htaccessが勝手に書き換わる




この記事は最終更新日から2年以上経過しています。

WordPreesのパーマリンク設定を「基本」以外に変更した場合、.htaccessにリダイレクト設定が追加されますが、意図せず.htaccessが書き換えられてしまうことがあるのでその注意点をまとめました。

動作確認バージョンはWordPress4.9.9と5.0.3です。

WordPressのパーマリンクを設定すると以下の設定が.htaccessに追加されます。

このパーマリンク設定を行って出力された.htaccessのリダイレクト設定部分を変更する場合、注意点があります。

それはWordPressが自動生成した「# BEGIN WordPress」から「# END WordPress」の間の設定は設定>パーマリンク設定を開いただけでもとの設定に戻ってしまうことです。
パーマリンクの設定の更新ボタンを押すことなく、パーマリンクの設定画面を開いただけですぐに更新されてしまうのでやっかいです。

では# BEGIN WordPress」から「# END WordPress」の部分を削除したらどうなるかというと、修正した部分は残るのだけど# BEGIN WordPress」から「# END WordPress」を新たに作成するので2重設定になってしまってややこしくなるだけ。
どうしてもここを変更したいということであれば設定変更後、設定>パーマリンク設定は絶対に開かないという運用にするか、.htaccessのパーミッションの書き込み権限を削除するなど何らかの対応が必要です。

私の場合ここを修正したかった理由はディレクトリ存在チェックの部分を削除したかったため。
理由は固定ページのURLと同じディレクトリ内にimgディレクトリがあり、その影響で固定ページが開かないという現象があったからです。
この現象に対する解決策は別記事にわけて書いておきます。