From: Eric Covener Date: Tue, 21 Apr 2015 12:23:33 +0000 (+0000) Subject: If a directory exists but no indexes can be resolved, the fallback resource X-Git-Tag: 2.5.0-alpha~3241 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9c3517b5074eb0bb06a7400a4a3bb166233b0e9c;p=apache If a directory exists but no indexes can be resolved, the fallback resource should be attempted first before giving up. Submitted By: Jack , covener Committed By: covener git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1675103 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 20715c13ab..2597f0fe84 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) Allow FallbackResource to work when a directory is requested and + there is no autoindex nor DirectoryIndex. + [Jack , Eric Covener] + *) mod_proxy_wstunnel: Bypass the handler while the connection is not upgraded to WebSocket, so that other modules can possibly take over the leading HTTP requests. [Yann Ylavic] diff --git a/modules/mappers/mod_dir.c b/modules/mappers/mod_dir.c index d2d075d98b..93533850c2 100644 --- a/modules/mappers/mod_dir.c +++ b/modules/mappers/mod_dir.c @@ -387,8 +387,15 @@ static int fixup_dir(request_rec *r) static int dir_fixups(request_rec *r) { if (r->finfo.filetype == APR_DIR) { - /* serve up a directory */ - return fixup_dir(r); + if (fixup_dir(r) == OK) { + return OK; + } + /* we're running between mod_rewrites fixup and its internal redirect handler, step aside */ + if (!strcmp(r->handler, REWRITE_REDIRECT_HANDLER_NAME)) { + return DECLINED; + } + + return fixup_dflt(r); } else if ((r->finfo.filetype == APR_NOFILE) && (r->handler == NULL)) { /* No handler and nothing in the filesystem - use fallback */