diff options
Diffstat (limited to 'config/httpd.conf')
-rw-r--r-- | config/httpd.conf | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/config/httpd.conf b/config/httpd.conf index 3bbe50fb3..36f567964 100644 --- a/config/httpd.conf +++ b/config/httpd.conf @@ -5,7 +5,7 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org -# +# # $Id: httpd.conf,v 1.31 2009-09-02 13:05:48 matthew Exp $ # This is needed for the PHP spell checker @@ -25,13 +25,26 @@ RewriteEngine On # it. RewriteCond %{LA-U:REMOTE_USER} (.+) RewriteRule . - [E=RU:%1] -RequestHeader add X-Forwarded-User %{RU}e +RequestHeader add X-Forwarded-User %{RU}e # Old /files URL to new subdomain (as can't use Alias with passenger, # so we do it on its own domain). This is for custom admin upload # files for archiving. RewriteRule /files/(.+) http://files.whatdotheyknow.com/$1 +# Serve attachments directly from the cache, if possible. +# +# The file names are URL-encoded on disk, and sharded by the first +# three digits of the request id, which is why this is as complicated +# as it is. The RewriteMap directive makes the URL-escaping function +# available to use in the other directives. +# +# The condition means that the rule will fire only if the cached +# file exists. +RewriteMap escape int:escape +RewriteCond %{DOCUMENT_ROOT}/views_cache/request/$2/$1/${escape:$3} -f +RewriteRule ^/request/((\d{1,3})\d*)/(response/\d+/attach/\d+/.+) /views_cache/request/$2/$1/${escape:$3} [L] + <IfModule mod_passenger.c> # Set this to something like 100 if you have memory leak issues PassengerMaxRequests 20 |