Efficient .htaccess

February 2nd, 2013
tech
In Apache you can put configuration files in each directory: .htaccess files. Every time someone requests a page, however, Apache needs to check for a .htaccess file in that directory, reading and parsing it if it exists. Switching to <Directory> blocks in your main config is much faster, but many places like shared hosting environments can't do that. A solution here might be to add an option to relax Apache's promise of rereading .htaccess files on every request. Instead it could search for them and parse them on startup, and you could either send it a signal to tell it to reload them or it could watch them with inotify.

As a workaround for now, you could use a converter like this one that reads all your .htaccess files and collects them into a htaccess.conf. (You'd run with AllowOverride off.) If you wanted to use this in a shared environment, though, you'd need to parse the config and check that it's safe, not containing an "</Directory>...<Directory ...>" or other injection.

Referenced in: Apache doesn't cache htaccess configs

Comment via: google plus, facebook, substack

Recent posts on blogs I like:

“We should be more ambitious with the software we build”

Since early this year, Michael Malis (of pgrust) has been showing me interesting things he's done and saying [W]e should be more ambitious1 with the software we build There is, understandably, a lot of skepticism about projects like pgrust because there…

via Posts on October 24, 2026

The DBT guide to intense negative emotions

This is a guide for handling intense negative emotions, based on dialectical behavior therapy.

via Thing of Things October 23, 2026

Was the HuggingFace hacking incident scheming?

In July 2026, internal OpenAI agents hacked HuggingFace (HF) in order to figure out how their evaluation grader works. This involved a thousand agents coordinating on an improvised message board to carry out an elaborate sequence of exploits. A later grou…

via Victoria Krakovna October 18, 2026

more     (via openring)