httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Schreier <>
Subject Re: [users@httpd] Mod_Rewrite with Location Directive
Date Tue, 28 Oct 2014 12:03:03 GMT

Sent with AquaMail for Android

On October 28, 2014 5:06:54 PM John Mark Mitchell 
<> wrote:
> All,
> I have worked with Apache for well over a decade now and have come to 
> understand that there is usually more than one way to accomplish desired 
> outcomes. I have been trying for a couple of weeks to troubleshoot 
> something that I thought at first would be a simple conf error or mis-use 
> of a module/context but I am starting to wonder if I am trying to get 
> apache to do something it not able to handle. If you would, please give the 
> following a read and let me know what you think.
> In short, I am trying get Location directives in my vhost conf to match 
> after using mod_rewrite in my .htaccess file.
> I have the following in .htaccess:
> # pass through non-matched files (e.g., anything but assets) to codeigniter
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteRule . /index.php [L]
> And, in a vhost conf I have the following:
> # cache /virtualpath/ content for 30 days
> <Location /virtualpath/>
>       ExpiresActive On
>       ExpiresDefault "access plus 30 days"
>       Header Set Pragma "public"
>       Header Set Cache-Control "public"
> </Location>
> # cache /realpath/ content for 15 days
> <Location /realpath/>
>       ExpiresActive On
>       ExpiresDefault "access plus 15 days"
>       Header Set Pragma "public"
>       Header Set Cache-Control "public"
> </Location>
> I have found that real paths (physical files on the file system) get the 
> headers added while virtual files paths (those processed by codeigniter) do 
> not. This has stumped me for days. I believe this is because the path env 
> var is rewritten when the htacess rewrite rule kicks in.  A recent day of 
> googling uncovered this very informative writeup: 
> From that writeup, I am 
> guessing there is no way to use a Location match on the original request 
> path. Would you agree or is there another creative way you would suggest 
> trying to solve the conflict between the rewrite and the Location directive?
> Any pointers or help you can provide would be greatly appreciated.
> Thanks all!
> -John Mark Mitchell
>   Director of Digital Innovation
>   American Bible Society

View raw message