GMOサーバで拡張子htmlでPHPを動かす

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

gmoserver.jpで拡張子がhtmlのファイルをPHPとして動かす

".htaccess"と"php.cgi"を作成する

“.htaccess”の中身

文字コード:S-JIS, 改行コード:LF, パーミッション:604

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

“php.cgi”の中身

文字コード:S-JIS, 改行コード:LF, パーミッション:705

#! /usr/bin/bash
exec /usr/local/bin/php-cgi

■参考文献

拡張子htmlをPHPで実行する方法 - お名前.com共用サーバーSD –

所感

お名前.comなどのGMOのWEBサーバーで、HTMLファイルにPHPの”include()”を使って全ページ共通のフッター(外部ファイル)を埋め込む必要がありました。

問題は、大量に作られた静的HTMLファイルの拡張子が”.html”であったことと、すでに”.html”の拡張子で外部メディアや、Googleのページランクにあがってしまっていたため、マクロなどで拡張子を”.php”に変更できなかったことです。

となると、一般的に”.htaccess”に記述すれば一発なのですが、どうもうまくいかない。

調べてみると、多いのは「cgiとして動かす」という情報。でも、全てのファイルの文頭に”#! /usr/local/bin/php-cgi”といったCGIならではの記述を追加しないといけない。

ファイルの数が数なので、なんとかできないかなぁと思っていたところ、「拡張子htmlの場合、PHPとして実行するCGIにハンドルを渡す」という目からウロコな方法を発見。

最初、ハンドルを受け取る”php.cgi”のパーミッション(アクセス権)を”705″にしていなかったので、サイトにアクセスすると”500″エラーが出たのですが、修正してバッチリ動作しました。


スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存