2014.06.12

拡張子.htmlでphpを動作させる

.htaccessの設定により拡張子.htmlファイルでphpを動作させることが可能です。
phpを動かしたい.htmlファイルと同じディレクトリ、または上層にある.htaccessに下記内容を記述してください。

AddHandler php5-script .php .html

以上の設定で、拡張子.htmlファイル内のphpが動作します。

上記の設定で動作しない場合

下記の設定を試してください。

設定方法①

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

設定方法②

AddHandler application/x-httpd-php .php .html

設定方法③

AddHandler php-script .php .html 

おそらくphp5環境下だと一番上の方法で動作すると思います。
また、拡張子.htmでphpを動作させたい場合は、.html部分を.htmに変えるか、.htmlの後に追記してください。
当たり前ですが、.htaccessが有効になっていないと設定が反映されないので、忘れずに。

【補足】さくらのレンタルサーバの場合

上記は、さくらのVPSで設定する方法でしたが、さくらのレンタルサーバでは設定方法が異なります。
さくらインターネットでVPSとレンタルサーバの両方を使用されている方も多いと思いますので、補足として記載します。

まず、FTPからレンタルサーバにアクセスします。
共有ディレクトリの「/usr/local/php/●.●/bin(/home/rs/php/●.●/bin)」の中にある「php-cgi」を、FTPのバイナリ転送モードでダウンロードします。
(※●.●はPHPバージョン名。自分がレンタルサーバで使用している同じPHPバージョンからファイルをダウンロードします。)

ダウンロードした「php-cgi」は、設定したい環境のドキュメントルートにバイナリ転送モードでアップロードし、ファイル名を「php-cgi」から「php.cgi」にリネームします。また、パーミション(属性)を705または755に設定します。

次に、「php.cgi」を設置したドキュメントルートにある「.htaccess」に下記内容を追記します。(.htaccessがない場合は新規作成する)

Action myphp-script /php.cgi
AddHandler myphp-script .php .html

以上の設定で、さくらのレンタルサーバで拡張子.htmlをphpとして動作させることができます。
気をつける点としては、FTPでダウンロード・アップロードする際に、転送モードをバイナリモードにすることです。

【参考サイト】
.htaccessで、拡張子.htmlのままPHPを実行する方法 | 海外SEO情報ブログ

記事カテゴリー:htaccess, php