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

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

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

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


htaccess と php.cgi の設置場所について調べてみました。
通常、htaccessファイルは、その下の階層にまで全部影響を及ぼせます。

ですので、そのドメインやアカウントの最上層のルートフォルダにhtaccessファイルとphp.ciファイルを設置すれば全部適用されるのかと思いきや、そうはイカンザキ状態でした。

【ドメイン別】htaccess と php.cgiファイルの設置場所

各ドメインのルートフォルダーに設置する
それぞれのサブドメインのルートフォルダにも置く


各ドメインで(独自ドメイン・独自ドメインのサブドメイン共に)正常に表示。


エラーログで吐き出されるphp.cgiのエラーについて

設置したphp.cgi大量のエラーログが吐き出されてしまうのを解消するための方法については、○○をご覧ください。



htaccessとphp.cgiを独自ドメインのルートフォルダにだけ設置

独自ドメイン内のページでは正常に表示されるが、その独自ドメインのサブドメインでは、同じ階層にphp.cgiがないとエラーが出ます。
なので、これらは各サブドメイン毎に設置する必要があります。



上記のエラーが出る
(上のエラーは、php.cgiが指定の場所にないと言うエラー)

htaccessとphp.cgiをサブドメインや独自メインのルートフォルダに設置すれば、それらの各ページには、htaccessとphp.cgiの効果が適用されます。


htaccessとphp.cgiをサーバーのルートフォルダにだけ設置

マルチドメインの場合、ルートフォルダにhtaccessとphp.cgiを置いただけでは、各ドメインでエラーが出てしまい、正常に表示されない。

ただし、さくらレンタルサーバーのデフォルトのURLだけは正常に表示される。
(最上階のルートフォルダにデフォルトのURLが割り当てられているため)

Not Found
The requested URL /php.cgi/

上記のエラーが出る
(上のエラーは、php.cgiが指定の場所にないと言うエラー)


ただし、マルチドメインではなく、独自ドメインのみであり、なおかつ、独自ドメインにフォルダの割当てをしていない場合、ルートフォルダにhtaccess + php.cgi を設置すると、デフォルト状態のさくらアカウント用のURLと独自ドメインの両方に、htaccess + php.cgi の効果を適用できる。

さくらのURLとフォルダ
/home/アカウント名/www/ に htaccess + php.cgi を設置
https://hogehoge.sakura.ne.jp

独自ドメイン
/home/アカウント名/www/ に htaccess + php.cgi を設置
https://aaa.com


次ページ

さくらレンタルサーバーのメールの設定方法

前ページ

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

広告