SetOutputFilter works very well, even in Location filters. There are lots of 
happy customers of this feature, using it for such things as for example 
compression of response bodies.

Are you quite sure your filter is NOT invoked? Could you possibly have it 
generate some output to stderr?

I copied your filter declarations into an Apache 2.0.54 configuration and was 
unable to reproduce the behaviour you describe. That said, the response was 
cached by the browser and when reloading the page, it issued a conditional 
request to which the server responded with a 304. Therefore, at first it 
appeared as if the filter was not invoked, but after forcing an unconditional 
request, the page was correctly updated.

Here are the relevant parts of the configuration I used:

LoadModule ext_filter_module /opt/apache2/modules/mod_ext_filter.so
Listen labelle16:80

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName labelle16.gsi.fr
   DocumentRoot /www/apachetest/htdocs/labelle16
   CustomLog /www/apachetest/logs/access16_log combined
   ErrorLog  /www/apachetest/logs/error16_log
   LogLevel debug

   ExtFilterDefine a mode=output intype=text/html outtype=text/html 
cmd="/bin/sed -e s/foo/bar/g"
   ExtFilterDefine b mode=output intype=text/html outtype=text/html 
cmd="/bin/sed -e s/bing/boom/g"

   <Location /test>
       Header set Cache-Control no-cache
       SetOutputFilter a
   </Location>
</VirtualHost>

-ascs


-----Original Message-----
From: Andy Buckley [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 29, 2006 3:10 PM
To: users@httpd.apache.org
Subject: [EMAIL PROTECTED] SetOutputFilter doesn't work in <Location>s?

Hi,

(Before I begin: I sent two messages on a similar topic to this a couple of 
weeks ago but got no reply: can someone please give me some feedback on whether 
I should report this issue as a bug or if it is my fault?)

I have a long-standing problem with getting Apache 2 output filters to work on 
a per-<Location> basis. As far as I can tell, the SetOutputFilter directive 
either doesn't work in <Location> blocks, or is quite unpredictable in that 
context. I sent a test configuration in a previous email but recieved no 
response, so I've produced a simpler configuration and tested it on a different 
system, with the same results. Here's the configuration fragment:

<VirtualHost 80.68.95.15:80>
     ServerAdmin [EMAIL PROTECTED]
     DocumentRoot /www/filtertest
     ServerName test.insectnation.org

     #SetOutputFilter a;b

     <Location />
         Options Indexes FollowSymLinks MultiViews ExecCGI
         AllowOverride None
         Order allow,deny
         Allow from all
         DirectoryIndex index
     </Location>

     ExtFilterDefine a mode=output intype=text/html outtype=text/html 
cmd="/bin/sed -e s/foo/bar/g"
     ExtFilterDefine b mode=output intype=text/html outtype=text/html 
cmd="/bin/sed -e s/bing/boom/g"
     <Location /a>
         SetOutputFilter a
     </Location>
     <Location /b>
         SetOutputFilter b
         #Order deny,allow
         #Deny from all
     </Location>
</VirtualHost>

The results of using this configuration are as follows:

   * The sed replacements take place neither in test.insectnation.org/a or 
test.insectnation.org/b
   * If the Location /b access is denied (by uncommenting the Order and Deny 
statements), this is correctly reflected in the browser behaviour
   * If the SetOutputFilter at VirtualHost level (i.e not in any Location 
blocks) is uncommented, the sed replacements both take place as expected

So, the problem is not the Location matching because the access denial works as 
expected: there seems to be some problem specifically with SetOutputFilter used 
on a Location basis. This is observed using Apache
2.0.55 as packaged in Ubuntu Dapper:

[EMAIL PROTECTED]:~$ apache2 -v
Server version: Apache/2.0.55
Server built:   May 29 2006 01:52:53

I've also observed the same behaviour in Scientific Linux 4.x. Can anyone offer 
any suggestions / try this config for themselves and comment. If it's a genuine 
problem then it should be reported as a bug, but I'm not aware of any 
independent confirmations. Some assistance, please?

Thanks!
Andy


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to