dポイントプレゼントキャンペーン実施中!

ローカル環境で、PHPの動作確認をしています。
サイト内のサイドバーなどをincludeしているんですが、ディレクトリ毎にパスを変更するのはとても手間がかかるため、.htaccessにinclude_pathの設定をして、「/」から始まる絶対パスで統一したいと考えております。

しかし、.htaccessでinclude_pathを設定して、include '/sidebar.php'; と書いても、includeすることができません。

なぜでしょうか?


ちなみに私の作業環境なのですが、ローカルでPHPを動作させる場合は、私の場合は次の場所にファイルを保存することでブラウザから http://localhost/ にアクセスすることで確認することができます。
C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/

そして、複数のサイトを運営しているため htdocs の下に example.com というディレクトリを作って、サイトを管理しています。
example.com というサイトの動作確認をする際は、ブラウザから http://localhost/example.com/ のようにアクセスします。

そして、.htaccessには次のように記述しました。

―.htaccess
php_value include_path ".:C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/example.com"

―index.html
<?php include 'sidebar.php'; ?>


include_pathの設定の仕方がよく分からず、最初は http://localhost/example.com と設定してみましたが、上手くいかなかったので上記のように設定しました。

ローカルでのテストが終わったら、サーバーにアップロードする際に、.htaccessを書きなおしてからアップロードする予定です。(書きなおすのは非常に面倒ですが、他に方法が分かりません。何か良い方法があれば教えていただきたいです。)


以上長文になりましたが、よろしくお願い致します。

A 回答 (1件)

>> htaccessでinclude_pathを設定して、include '/sidebar.php';


>> と書いても、includeすることができません。
>> なぜでしょうか?

絶対パスで、sidebar.phpをインクルードしているので、include_pathの設定が無意味です。
include 'sidebar.php';
とするか
include './sidebar.php';
としてみてください
    • good
    • 0
この回答へのお礼

include 'sidebar.php';
としても
include './sidebar.php';
としても表示されませんでした。

それよりもDreamweaverで管理していたサイトの一部をPHPでインクルードしようと思って、メインテンプレートに
<?php include './sidebar.php'; ?>
と書いて更新したところ、すべてのページが文字化けになってしまい、バックアップから復帰させるはめになりました……。

.htaccessの設定は
php_value include_path ".:C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/example.com"
でよろしいのでしょうか?

お礼日時:2009/01/07 14:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!