さくらインターネット「phpをhtmlで動かしたい」

月読☆彡

2007年09月25日 16:52


さくらインターネットでphpを拡張子phpとして表示するのではなく、htmlとして見せたい場合

[1] /usr/local/bin/配下にあるphpを、php化したいhtmlのあるディレクトリ配下にコピーします。
[2]そのphpをphp.cgiにリネームします。
[3]同じディレクトリ内に.htaccessを配置。
AddHandler myphp-script .html
Action myphp-script /php.cgi

を記述する。

参考:小粋空間:.html のままPHPを有効にする

これで、php化したhtmlが見られるとのことです。
しかし、私が管理している大半のさくら共用サーバでは500 Internal Server Errorになってしまいました。

以下、同じように500 Internal Server Errorの原因チェック。
[1] ディレクトリのパーミッション、php.cgiのパーミッションが705もしくは755になっているか 。
[2] .htaccessの綴りはあっているか 。
[3].htaccessの最後は改行されているか 。
[4] .htaccessをアスキーモードでアップロードしているか 。

上記の確認・変更をしてもダメな場合はtelnetで直接乗り込んでコピー、リネーム、作成を行う。
原因はたぶん改行コードかFTPでアップするときの何らかのミスが原因だろうと思う。

telnetでの作業
[1]phpが置いてある/usr/local/bin/に移動
# cd /usr/local/bin/

[2]phpをコピーする
# cp php /home/自分のディレクトリ名/www/置きたいディレクトリ名/

[3]リネームする
# cd /home/自分のディレクトリ名/www/置きたいディレクトリ名/
# php php.cgi

[4]パーミッションを755(または705)に変更する
# chmod 755 php.cgi

[5].htaccessを新規に作成して保存
# vi .htaccess
# AddHandler myphp-script .html
# Action myphp-script /php.cgi
# :wq

[2]まで行えばFTPでリネーム、パーミッション変更し、さくらのコントロールパネルからファイルマネージャーにアクセスし、.htaccessを作成しても正常に動作した。