Prepend and Append Files with .htaccess

By  on  

One of the lessor known and used capabilities of .htaccess files is the ability to prepend and append includes to every page request.  Doing so avoids needing to code <?php require('footer.php'); ?> in every template file you wat to use them in.  Here's the .htaccess code:

# Prepend the file
php_value auto_prepend_file "/dir/path/utilities.php"

# Append file to bottom of page
php_value auto_append_file "/dir/path/templates/footer.php"

Now don't mistake this post as me telling you to use this strategy;  using this functionality creates a layer of indirection that could confuse a team of developers if they don't all have a grasp of where automatically included files are coming from.  Just wanted to let you know this was possible!

Recent Features

  • By
    Responsive Images: The Ultimate Guide

    Chances are that any Web designers using our Ghostlab browser testing app, which allows seamless testing across all devices simultaneously, will have worked with responsive design in some shape or form. And as today's websites and devices become ever more varied, a plethora of responsive images...

  • By
    CSS @supports

    Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS.  What we end up doing is repeating the same properties multiple times with each browser prefix.  Yuck.  Another thing we...

Incredible Demos

  • By
    MooTools ASCII Art

    I didn't realize that I truly was a nerd until I could admit to myself that ASCII art was better than the pieces Picasso, Monet, or Van Gogh could create.  ASCII art is unmatched in its beauty, simplicity, and ... OK, well, I'm being ridiculous;  ASCII...

  • By
    Fancy FAQs with MooTools Sliders: Version 2

    A little over a year ago I authored a post titled Fancy FAQs with MooTools Sliders. My post detailed a method of taking boring FAQs and making them more robust using the world's best JavaScript framework: MooTools. I've taken some time to...

Discussion

  1. Markus

    this strategy is often used to hook a profiler into an existing app, which works great in DEV environments
    see e.g. http://xhprof.io/

  2. Barry Wood

    I can see it now, the /html directory full of code snippets, and an incredibly convoluted htaccess file that conditionally assembles the various pages for a site. :)

    • Quick! Turn it into a framework!

  3. I’ve used to use this technique, but dropped it for a while now.
    It appears very useful at first but can be dangerous actually…
    One of its weakness is the impossibility to “un” prepend or “un” append according to directory or filematch directives.

  4. Matthew

    How can i use the .httaccess pre-append a .php file? i have tried using—– php_value auto_prepend_file “inc.php”

    Am getting this error: Fatal error: Unknown: Failed opening required ‘inc.php” (include_path=’.;D:\xampp\php\PEAR’) in Unknown on line 0

  5. Abhijeet

    @Matthew

    have you tried using full path like /var/www/site/dir/file.php?

  6. .htaccess – is a single file for all project. And I think it’s a bad practice to prepend files, because they will prepend on all pages.

  7. I find it hard to believe @ Pluto htaccess allows if statements.

    php_value auto_prepend_file "fullpath/headers.php"
    php_value auto_append_file "fullpath/index.php"
    

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!