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: [email protected]
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]