Php – How to append a path to PHP’s include_path in .htaccess


Currently on my site I'm using statements like:

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

depending on how many nested folders deep I am. I'm sure there is a better way to do this.

I'm convinced .htaccess is the solution, but I'm not sure how to go about implementing it. If I insert:

php_value include_path "public/html/root"

… I lose the rest of my paths (/usr/lib/php, etc). I naively tried:

php_value include_path $include_path . "(path)"

but of course this didn't work. How could I prepend or append a single path to this list with .htaccess?

Best Solution

Create in the sub-sub-directories a file .htaccess with the contents

php_value include_path '../../includes'

or whatever include_path is right for that directory.


  1. No ugly hack with multiple includes with different depth. Just include 'head.php'.
  2. No dependency on editing php.ini.
  3. No need to use set_include_path() before including.
  4. No dependency on including constants like include INCLUDE_PATH . 'head.php'.

Price to pay:

You litter your sub-sub-directories each with a file .htaccess.