.htaccess 設定の問題

.htaccess 設定の問題

私は、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 のページを読んでみてください。

関連情報