私は、www.example.com と www.example.com/site2 のような 1 つのドメインで 2 つの Web サイトを使用しています。私のサイト 2 には、folder1 と folder2 という 2 つのフォルダーがあり、index.php は folder2 にありますが、メソッドの定義は folder2 で定義されています。.htaccess を通じてファイルを含めていますが、folder1 にあるファイルを取得できず、ブラウザーでエラー 500 と 400 が発生しています。次の行を使用していますが、.htaccess ファイルでは機能しません。
以下の行は正常に動作します
RedirectMatch ^/$ http://www.example.com.pk/site2/views/
AllowOverride All
php_value include_path ".:/home/example/public_html/site2/system"
答え1
PHPで使用するためにメソッドやクラスを組み込もうとしていますか?そうであれば、おそらくinclude() または require() 関数Apache 経由ではなく、PHP コード内で実行します。
あなたの質問からは、あなたが何を達成しようとしているのか正確にはわかりません。インクルードに Apache を本当に使用する必要がある場合は、質問を拡張して詳細を追加してください。
答え2
また、現在の .htaccess ファイルにはファイルが含まれておらず、php が使用するインクルード パスのみが設定されています。そのため、次のファイル ツリーを想像してください。
root
| - a
| |- myphp.php
| - b
| |- myinclude.extension
php ファイル myphp.php を組み込む場合は、通常は次のようにします。
<?php include('../b/myinclude.extension'); ?>
しかし設定後
AllowOverride All php_value include_path "root/b/"
入力するだけで
<?php include('myinclude.extension'); ?>
しかし、それは実際には大きな違いを生みませんね。include、require、include_once、require_once に関する php.net のページを読んでみてください。