【php.cgi】さくらインターネットのinclude実験の詳細 【htaccess】

この実験は、 2016年5月22日のものです。
後で、さくらのレンタルサーバの設定が変わってしまうかもなので、その際はご容赦下さい。

現在は、PHPでのテンプレートの読み込みをやめ、SSIでテンプレートファイルを読み込んでいます。
(詳しくは 【難問解決】 SSIのインクルードで圧縮できるか実験してみた をご覧ください)

さくらのレンタルサーバーでのincludeの方法だけご覧になりたい方は、【ついに完成】 さくらでもincludeをする方法をご覧ください。


htaccess + php.cgi + includeコード

ドメインのルートフォルダにhtaccessphp.cgiを置き、各ページのインクルードする箇所にinclude用のPHPコードを入れる。


安定版。
多分、これが最強だと思う。
(htaccess ファイルと php.cgi ファイルは同じ階層にある必要がある)

成功

  • ドメイン内のファイルの読み込み
  • 上部ドメイン(サブドメインの親の独自ドメイン)読み込み
  • 他のドメインの読み込み

htaccess + php.cgi + includeコード + php.ini

ドメインのルートフォルダにhtaccessphp.cgiを置き、各ページのインクルードする箇所にinclude用のPHPコードを入れ、さらにphp.iniを変更する


php.iniのコード

allow_url_fopen = On
allow_url_include = On

php.iniは書いても書かなくても一緒
無くてもいい。


成功

  • ドメイン内のファイルの読み込み
  • 上部ドメイン(サブドメインの親の独自ドメイン)読み込み
  • 他のドメインの読み込み

includeコードのみ

各ページのインクルードする箇所にinclude用のPHPコードを入れる。


全くインクルードできない。
(htaccessファイルがないのでhtmlファイルはphpファイル化しないし、php.cgiファイルを読み込みにいくこともしないしphp.cgiファイルもないので、includeコードだけでは反応しない)


includeコード + htaccess(Action myphp-script /php.cgi抜き)+ php.cgi

各ページのインクルードする箇所にinclude用のPHPコードを入れ、php.cgiを設置するが、htaccessファイルの中のAction myphp-script /php.cgiの記述を抜いた


全くインクルードできない。
(php.cgiファイルがあってもそれを読み込みに行かないし、なくても読み込みに行かないので同様の結果になる)


includeコード + htaccess

各ページのインクルードする箇所にinclude用のPHPコードを入れ、htaccessファイルを設置。


php.cgiがないのでエラーが出る。
Not Found
The requested URL /php.cgi/のエラーが出る
(htaccess ファイルと同じ階層に php.cgi がない)



includeコード + php.cgi

各ページのインクルードする箇所にinclude用のPHPコードを入れ、php.cgiを設置


全くインクルードできない。
(php.cgiファイルがあっても、htaccessでそれを指示できていないため、php.cgiを読み込みに行かない)


次ページ

【階層】 htaccess と php.cgi の設置場所 【ドメイン】

前ページ

【実験結果】さくらでphpのincludeするための方法を詳しく解説

広告