先日、とあるサイトで特に何もしていないのに、全ページで急に500エラーが発生しサイトがダウンする事例が発生した。

症状から、最も疑わしかったhtaccessファイルの中身を見ると、覚えのない以下のコードがファイルの先頭に追記されていた。

RewriteEngine On

RewriteBase /
RewriteRule ^.*-n-(\d+)/$ wp-chao.php?n=$1&%{QUERY_STRING} [L]
RewriteRule ^.*-p-(\d+)/$ wp-chao.php?p=$1&%{QUERY_STRING} [L]
RewriteRule ^.*(sitemap\.xml)$ wp-chao.php?sitemap=xml [L,S=10000]

また、コードに記載のあったwp-chao.phpについても、なぜかサーバーのルートディレクトリに勝手に配置されていた。

500エラーの直接の原因は、元々htaccessに書いてあった記述のうち、先頭の1文字だけ削除されていたことによるものだった。

そのためエラー自体はhtaccessを修正することで解消されたが、なぜこのようなことが起きたか分からない。

wp-chao.phpが具体的に何をしているかは現在調査中だが、取り急ぎ問題報告としておく。