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
    JavaScript Promise API

    While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready?  Promises are becoming a big part of the JavaScript world...

  • By
    Create a CSS Flipping Animation

    CSS animations are a lot of fun; the beauty of them is that through many simple properties, you can create anything from an elegant fade in to a WTF-Pixar-would-be-proud effect. One CSS effect somewhere in between is the CSS flip effect, whereby there's...

Incredible Demos

  • By
    Introducing MooTools HeatMap

    It's often interesting to think about where on a given element, whether it be the page, an image, or a static DIV, your users are clicking.  With that curiosity in mind, I've created HeatMap: a MooTools class that allows you to detect, load, save, and...

  • By
    Sexy Opacity Animation with MooTools or jQuery

    A big part of the sexiness that is Apple software is Apple's use of opacity. Like seemingly every other Apple user interface technique, it needs to be ported to the web (</fanboy>). I've put together an example of a sexy opacity animation technique...

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"
    
  8. Thanks Chris, this would be a great way to append a “copyright link” that can’t easily be found.

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