perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torsten Krah <>
Subject Re: mod_perl - Intercepting an external Redirect
Date Fri, 21 Sep 2007 04:27:47 GMT
Perrin Harkins schrieb:
> On 9/19/07, Torsten Krah <> wrote:
>> Now i configured the "otherhost" to do a permanent redirect when /time/blog is
>> requested.
>> If i request this uri, the redirect is done like configured there - my filter
>> does not get called.
> It's possible that mod_proxy doesn't cooperate with filters, but I
> thought it did.  You might try turning on some mod_rewrite logging to
> get a better view of what's happening.  You could also do the proxy
> request yourself from perl, although it's less efficient than
> mod_proxy.
> - Perrin
I am still working on it, but it thought i got a possible working 
solution using a request based output filter.

If the redirect is done with the "Location" Header it seems to work - 
the output filter is kicked in after the mod_proxy response, i can 
analyze $r->header_out->{Location} and if it matches whatever i want, i 
can do the $r->internal_redirect(uri) which than delivers with some help 
of mod_proxy and mod_rewrite again what i want under the "old request 
url", for things which dont match DECLINED is returned and all is fine.
Any "things" i've missed doing things this way?

Whats not working yet - maybe it wont ever. dont know yet - is the 
scanario where the redirect is done from a .htaccess rule for example 
with "redirect permanent /a /b" (maybe the servlet response.sendRedirect 
wont work too here, still have to try this) - the filter does not get 
called, don't know yet why, but i'll investigating this.

Althoug because the first solution works and i can influence the way the 
redirect is done in my scenario this is a possible way to go. thx for 
your help.


View raw message