拡張子htmlのファイルをPHPとして処理しようとして3時間ハマった件

また忘れそうなので、先日とある案件でかなり頭を悩ました件についてメモを残しておきます。

この件をTwitterで呟いていたところ、色々な情報をReplyやDMで送っていただきました。本当にありがとうございます。

やりかったこと

拡張子htmlのファイルをPHPとして処理させる

やったこと

.htaccessに以下の記述を追加

    AddType application/x-httpd-php .php

...(サーバにもよりますが)殆どの場合、この設定だけで動くはずです...が
動きませんでした。

原因

そのサーバで並行して稼働していたサイトの.htaccessに以下の記述があり、
拡張子htmlのファイルがSSIで処理されていたため。

    AddHandler server-parsed .html

対処方法

AddHandlerの記述でSSIとして処理するファイルの拡張にhtmlが登録されているので、 その設定を取り除きます。

    RemoveHandler .html

RemoveHandlerはAddHandlerで追加した設定を無効化することができます。 この記述をした.htaccessを特定のディレクトリに入れると、それ以下のフォルダで htmlファイルがSSIとして処理されなくなります。

実際には冒頭の記述とあわせて記述します。

    RemoveHandler .html
    AddType application/x-httpd-php .php