Как добавить путь к include_path PHP в .htaccess

В настоящее время на моем сайте я использую такие утверждения, как:

include 'head.php'; include '../head.php'; include '../../head.php'; 

в зависимости от того, сколько я вложенных папок. Я уверен, что есть лучший способ сделать это.

Я убежден. .htaccess – это решение, но я не уверен, как его реализовать. Если я вставлю:

 php_value include_path "public/html/root" 

… Я теряю остальные пути ( /usr/lib/php и т. Д.). Я наивно пытался:

 php_value include_path $include_path . "(path)" 

но, конечно, это не сработало. Как я могу добавить или добавить один путь к этому списку с помощью .htaccess ?

Если вы не можете отредактировать файл php.ini , вы можете добавить

 set_include_path(get_include_path() . PATH_SEPARATOR . $path_to_add); 

перед вашими заявлениями.

Однако, если вы обнаружите, что include или require проблем, это, вероятно, запах кода. Лучшим решением будет хороший объектно-ориентированный дизайн с хорошей функцией __autoload .

Создайте в под-подкаталогах файл .htaccess с содержимым

 php_value include_path '../../includes' 

или любой другой include_path подходит для этого каталога.

Преимущества:

  1. Никакой уродливый взлом с несколькими включенными с разной глубиной. Просто include 'head.php' .
  2. Никакой зависимости от редактирования php.ini .
  3. Не нужно использовать set_include_path() перед включением.
  4. Никакая зависимость от включения констант, таких как include INCLUDE_PATH . 'head.php' include INCLUDE_PATH . 'head.php' .

Цена для оплаты:

Вы засоряете свои под-подкаталоги каждый файлом .htaccess .