さくらのレンタルサーバーでPHPを「.html」などの拡張子で実行する方法
作成日:2009.09.20
さくらのレンタルサーバーでは、PHPがCGIとして動作しているため、通常の.htaccess設定ではPHPを「.html」拡張子で実行できません。この記事では、特定の手順を踏んでPHPを動作させる方法を詳しく解説します。
error この記事は最終更新日から16年以上が経過しています。
先日.htaccess で .html 等の拡張子で PHP を実行させる方法という記事を書きましたが、さくらのレンタルサーバーでは、PHP が CGI として動いているため、上記記事の設定では、.html 等の拡張子で PHP を実行することができません。
なので、今回はさくらのレンタルサーバーに絞った、設定方法の解説です。
php-cgi をドキュメントルートにコピーする
SSH でサーバーにログインし、php-cgi というバイナリファイルを、自分のドキュメントルートにコピーします。
cp /usr/local/php/default/bin/php-cgi ~/www/php.cgi
コピーする際に、ファイル名を php.cgi のように拡張子を .cgi にしておくのがポイント。
ついでに、コピーした php.cgi のパーミッションも変えておきましょう。
chmod 0705 php.cgi
.htaccess の編集
さて、続いて .htaccess を編集します。
以下の二行を追加。
Action myphp-script /php.cgi
AddHandler myphp-script .php .html
これで .html でも PHP が動くようになります。
ただし、この方法だと、PHP の CGI版バイナリファイルを直接ドキュメントルートに持ってきて、それを実行するようになってますので、レンタルサーバー側の PHP がバージョンアップされても、コピーした PHP は古いままです。
なので、バージョンアップ情報等は自分でチェックして、そのたびにコピーし直す必要があるでしょう。
あるいは、コピーせずにシンボリックリンクを作ってもいけるのかな?
これは試していないので、ちょっと不明です。
奈良市を拠点に、26年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。
これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。
【制作会社・企業様向けサポート】
Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。
ぜひ、プロフィールやWeb制作会社様向け業務案内、一般企業様向け業務案内もご覧くださいね。
.htaccessでPHPを任意の拡張子で動作させる方法
2009.09.16
.htaccessを使って、PHPファイルを「.php」以外の拡張子(例えば「.html」や「.htm」)で動作させる方法を解説します。簡単な設定で、異なる拡張子でもPHPコードを実行できるようになります。
レンタルサーバーでPHP設定を変更する方法:.htaccessでカスタマイズを実現
2007.09.09
レンタルサーバーで複数のユーザーが共有している環境では、php.iniの設定を変更できない場合がほとんどです。しかし、.htaccessを利用すれば、PHPの動作を自分のニーズに合わせてカスタマイズできます。この記事では、.htaccessを使って設定できるPHPの挙動について、実際の例を挙げて解説します。
Google OAuth 2.0で実装するPHP SSO入門:Google Cloud 設定と実装コード例
2025.11.24
Google OAuth 2.0 を利用した Google アカウントによる SSO を PHP で実装する手順を解説します。Google Cloud Console での OAuth 同意画面とクライアント作成、必要なスコープ設定から、Composer の導入、GSI(Google Sign‑In)ボタンの設置、ログインスクリプトの実装例までを一貫して扱います。
漏洩パスワードとの照合:Pwned Passwords APIの仕組みと実運用での注意点
2025.11.06
Pwned Passwords API(Have I Been Pwned)が採用する k‑Anonymity の仕組みを分かりやすく解説し、PHPによる実装例を通して漏洩パスワードチェックの具体手順を示します。さらに、ユーザー通知文面の注意点など、実運用で押さえるべきセキュリティと運用上の留意点をまとめています。