Bug 43939

Summary: mod_deflate is causing SSI's which include "default" URLs to fail
Product: Apache httpd-2 Reporter: Keefe John <keefe>
Component: mod_deflateAssignee: Apache HTTPD Bugs Mailing List <bugs>
Severity: normal    
Priority: P2    
Version: 2.2.4   
Target Milestone: ---   
Hardware: Other   
OS: Linux   

Description Keefe John 2007-11-22 07:30:29 UTC
It appears that mod_deflate is causing virtual includes which rely on "default"
URLs to fail.

An example is this:

<!--#include virtual="/test/index.html"--> - Works as expected

<!--#include virtual="/test/"--> - Entire page doesn't load (suspected apache crash)

Nothing is logged in the apache error or access logs when this event occurs. 
This problem also effects the php virtual() function in the exact same way. 
Also, multiviews is not enabled.

If Deflate is disabled on the including file type (in this case .shtml) the
include works fine.

Here's my exact mod_deflate for reference:

# Required modules: mod_deflate
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/mod/mod_deflate.html>
# for further details before you try to setup deflate module.

<Location />
# Insert filter
SetOutputFilter DEFLATE

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don't compress images and other uncompressible content
SetEnvIfNoCase Request_URI \
 \.(?:gif|jpe?g|png|rar|zip|exe|mov)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

Comment 1 Nick Kew 2007-11-22 09:25:20 UTC
This looks like a duplicate of Bug 17629.  Leaving open in case having it filed
under mod_deflate improves the chances of noticing it at a time of round tuits.
Comment 2 Ruediger Pluem 2007-11-22 13:03:00 UTC
I am not sure if this is really Bug 17629 as
<!--#include virtual="/test/index.html"--> works (which is a subrequest).


<!--#include virtual="/test/"--> 

not working smells to me like a problem with (fast) internal redirects or
mod_dir and not with subrequests.
We are losing our content filters (and thus mod_deflate) because of the
ap_sub_req_lookup_uri call in mod_dir.c:fixup_dir with NULL as last parameter.
Comment 3 Joe Orton 2010-06-08 05:35:37 UTC
So far as I can tell this particular bug was fixed on the trunk in the set of commits: r620133 r724515 r725077

A test case reproducing the configuration works fine at least
Comment 4 Ruediger Pluem 2010-08-24 02:46:35 UTC
Backported to 2.2.x as r988400.