Проблема с конфигурацией .htaccess

Проблема с конфигурацией .htaccess

Я использую два сайта на одном домене, например: www.example.com и www.example.com/site2. Я хочу знать, что на моем сайте site2, в моем сайте site2 есть 2 папки с именами folder1 и folder2, мой 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()в вашем PHP-коде, а не через Apache.

Я не могу точно сказать из вашего вопроса, чего именно вы пытаетесь добиться. Если вам действительно нужно использовать 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'); ?>

но это ведь не имеет большого значения, не так ли? Пожалуйста, прочтите страницы php.net о include, require и include_once, require_once.

Связанный контент