Great. This one worked.

However, it looks like the first request with the query string returns a 301 
moved permanently response, requiring another request from the browser to the 
file without the query string.

Can this redirection be avoided, so that the server returns the cached file on 
the original response only?



-----Original Message-----
From: Ben Johnson [mailto:[email protected]] 
Sent: Thursday, October 04, 2012 9:23 PM
To: [email protected]
Subject: Re: [users@httpd] How to strip out the query parameter for specific 
URLs using mod_rewrite?



On 10/4/2012 11:32 AM, Bhattacharya, Sudip wrote:
> Hi Sridhar,
> 
> This would apply to the whole virtual host. I need to enable it for specific 
> subfolders.

Something like this should work:

RewriteCond %{REQUEST_URI} =/folder/xmlfiles/static.xml RewriteCond 
%{QUERY_STRING} !=""
#The ? at the end causes the %{QUERY_STRING} to be omitted #from %{REQUEST_URI} 
during rewriting.
RewriteRule ^(.*)$ %{REQUEST_URI}? [R=301,L]

If any mod_rewrite expert has suggestions or revisions, please jump in.

> -----Original Message-----
> From: sridhar basam [mailto:[email protected]]
> Sent: Thursday, October 04, 2012 9:00 PM
> To: [email protected]
> Subject: Re: [users@httpd] How to strip out the query parameter for specific 
> URLs using mod_rewrite?
> 
> On Thu, Oct 4, 2012 at 11:03 AM, Bhattacharya, Sudip 
> <[email protected]> wrote:
>> Hi,
>>
>> I am trying to configure caching for a website using apache proxy.
>>
>> Some of the URLs are using a random parameter in the URL to avoid caching.
>>
>> The URL would look like this:
>> http://foo.com/folder/xmlfiles/static.xml?rand= 0.36176968908944995
>>
>> The xml files are static files, but the application attaches a random number 
>> at the end to disable caching. I need to remove the rand parameter to enable 
>> caching, without modifying the original application.
>>
>> There would be other URLs which would have valid query strings, so I need to 
>> limit the rewrite operation to the specific xmlfiles folder urls.
>>
>> Some of the examples on internet seems to be removing the query string from 
>> all requests.
> 
> The module already supports it for you, you need to just enable it.
> 
> http://httpd.apache.org/docs/2.4/mod/mod_cache.html#cacheignorequeryst
> ring
> 
> 
> Sridhar
> 
> 
> 
>>
>> Regards,
>> Sudip Kumar Bhattacharya

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

This e-mail (and any attachments), is confidential and may be privileged. It 
may be read, copied and used only
by intended recipients. Unauthorized access to this e-mail (or attachments) and 
disclosure or copying of its 
contents or any action taken in reliance on it is unlawful. Unintended 
recipients must notify the sender immediately 
by e-mail/phone & delete it from their system without making any copies or 
disclosing it to a third person.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to