Bug #1027

alias and mod_compress

Added by Anonymous over 13 years ago. Updated over 12 years ago.

Target version:


When using an alias, mod_compress dosent create subdirectories for the cached compressed files.

Exmaple (n is an alis to

2007-02-12 12:57:03: (mod_compress.c.398) creating cachefile /var/lib/lighttpd/cache/compress//n/themes/obalanet/screen.css-gzip-7964071-2250-1170856112 failed No such file or directory

but /var/lib/lighttpd/cache/compress/ exists.

-- duck


Fix-mod_compress-bug-1027-lighty1.4.patch (3.09 KB) Fix-mod_compress-bug-1027-lighty1.4.patch Tested patch (previous missed symbol "ERROR"), ignore trailing slash now stbuehler, 2008-02-15 15:06
Fix-mod_compress-bug-1027-lighty1.5.patch (7.09 KB) Fix-mod_compress-bug-1027-lighty1.5.patch Ignore trailing slash now + ERROR log style stbuehler, 2008-02-15 15:42
lighttpd-1.4.18-compress-mkdir.patch (2.77 KB) lighttpd-1.4.18-compress-mkdir.patch Optimized version of patch for 1.4.18. spillgroup, 2008-03-07 13:42
lighttpd-1.4.19-compress-mkdir.patch (1.14 KB) lighttpd-1.4.19-compress-mkdir.patch Optimization patch for 1.4.19 spillgroup, 2008-03-12 13:56

Updated by darix over 13 years ago

can you show us the module load order?
the easiest thing might be lighttpd -tp -f /path/to/config 2>&1 | less
and paste the server.modules section from it.


Updated by Anonymous over 13 years ago

cachefile /var/lib/lighttpd/cache/compress//n/themes/obalanet/screen.css-gzip-7964071-2250-1170856112

isn't there one slash too many after comptess?

-- j3rky


Updated by Anonymous over 13 years ago

I'm having the same problem here. Is there a solution?

My server.modules section:

server.modules = (
    # 11

-- ecook


Updated by stbuehler over 12 years ago

I did not try if the patches are working (I don't use mod_compress), so please report if it works for you.


Updated by stut over 12 years ago

Was having the same problem here on 1.4.18 - can confirm that the attached patch for 1.4 works.


Updated by Anonymous over 12 years ago

mkdir_recursive will cause segfault while creating something like "/dir1/" (with trailing slash).

while ((p = strchr(p + 1, '/')) != NULL) {

must be

while ((*p) && (p = strchr(p + 1, '/')) != NULL)) { 

Updated by stbuehler over 12 years ago

+ Duplicate of #230


Updated by Anonymous over 12 years ago

please fix! this is a huge annoyance.


Updated by stbuehler over 12 years ago

Fixed in r2081 for 1.4.x


Updated by spillgroup over 12 years ago

I've attached a slightly modified version for 1.4.18 which is a bit smarter with mkdir's. The previous behaviour was to try and mkdir every part of a file's patch on every access (even when already in the cache). This patch moves the mkdir's to after the place where it checks for existence.


Updated by stbuehler over 12 years ago

  • Status changed from New to Fixed
  • Resolution set to fixed

Fixed in r2135 for lighty-1.5.x with optimization - i hope it works ;-)

Also available in: Atom