On Thu 28 Feb 2008, J. Peng wrote: > currently I write it with PerlAccessHandler, it also works. is it > right with this handler?
Do you want to send a redirect to the browser (HTTP code 3xx)? If yes then it can be done in an access handler as well. If you simply want to send the document in /pathA or /pathB then I think you'd prefer something *before* the core map_to_storage handler, that means a PerlTransHandler or a PerlMapToStorageHandler since otherwise you'd need to fill out the finfo field by yourself, see http://perl.apache.org/docs/2.0/api/Apache2/RequestRec.html#C_finfo_ > no, mod_rewrite can't rewrite requests based on Accept-Encoding header. yes, something like this: RewriteCond %{HTTP:Accept-Encoding} gzip [OR] RewriteCond %{HTTP:Accept-Encoding} deflate RewriteRule ^(.*) /pathA/$1 [PT,L] RewriteRule ^(.*) /pathB/$1 [PT,L] or as an external redirect: RewriteCond %{HTTP:Accept-Encoding} gzip [OR] RewriteCond %{HTTP:Accept-Encoding} deflate RewriteRule ^(.*) /pathA/$1 [R,L] RewriteRule ^(.*) /pathB/$1 [R,L] Why do you think this wouldn't work? > On Thu, Feb 28, 2008 at 7:26 PM, Torsten Foertsch > > <[EMAIL PROTECTED]> wrote: > > On Thu 28 Feb 2008, J. Peng wrote: > > > I need to write an input filter based on the request headers. > > > If request includes a "Accept-Encoding: gzip, deflate" header, I > > > should redirect the request to /pathA. > > > If request doesn't include that header, I should redirect the request > > to > /pathB. (pathA and pathB are web document dirs on web server.) > > > > I think you don't need an input filter. What you need is a > > PerlTransHandler or a PerlMapToStorageHandler that checks > > $r->headers_in->{'Accept-Encoding'} and sets $r->filename and/or $r->uri > > accordingly. > > > > This can even be done with mod_rewrite. Torsten -- A: It reverses the normal flow of conversation. Q: What's wrong with top-posting? A: Top-posting. Q: What's the biggest scourge on plain text email discussions?