2017.01.26   Web ,,,,,

エックスサーバーで.htaccessが勝手に変わるのはなぜ?

エックスサーバーでWordpressを導入しているサイトをいくつか、https(常時SSL)に変更する作業を実験的におこなっている。いくつか管理をしていると、どうやら.htaccessが自動的にというか、勝手に変更されてしまうという事象がいくつかのサイトで生じたので、その備忘録である。

原因はパーミッションではない?

原因を探るべくいろいろ調べてみるのだが、.htaccessのパーミッションを変更するなどいろいろあるようだが今回はここではないようだ。というのも、同じパーミッションで設定したものであっても、.htaccessは自動的に切り替わらないからである。それよりも気になったのは、.htaccessにあるPHP Ver.が、ある指定の場合のみ自動で切り替わってしまっているいることである。

『PHP Ver.』をPHP 5.6.22(推奨)に変更。

2017年1月現在、PHPのVer.はPHP 5.6.22が推奨されている。それ以下のものであると、サーバー側より非推奨の警告がなされ、今回私の.htaccessが勝手に入れ替わっていたものもPHP 5.3.3というひとつ前のバージョンであった。現在の最新はPHP7.0.7であるが、まだPHP7に対応していないプログラムもあるようなので、PHP 5.6.22を推奨している。

ついでにMySQL設定も見直すべき。

おおまかに言ってしまうと、PHP5.3.3のままになっているサイトは、MySQLも5.0あたりになっている可能性が高い。MySQL5.0であればMySQL5.5に移行しておくとよい。ただしエックスサーバーの場合、同じサーバー内で他データベース及びMySQLユーザーをMySQL5.5を既に使用してる場合、それらをいったんすべて削除しないとMySQL5.5に移行できないという衝撃的な厄介さを兼ね備えている。サイトで『エックスサーバー|MySQL5.0とMySQL5.5がある場合の移行方法』というのを紹介してるので、こちらを参考に私もMySQL5.5移行をおこなったが、正直なところデータベースをいったん削除する作業などあるので、エックスサーバーもなかなかリスクの高いことをやらせてくれるものだなと感心する。

それでもだめなら.htaccessを再アップロードする。

そう、php ver.を切り替えてMySQL5.5の移行まで終わっても何ら変わりがなければ、.htaccessをいったんローカルにダウンロードし、ローカルで編集したものを再びリモートで更新してみる。最もシンプルな方法であるが、これをやると案外さっくり.htaccessが自動で書き変わってしまうのを防ぐことができる。


槍の間合いもまだまだだな。