diff --git a/modules/proxy/mod_proxy_fcgi.c b/modules/proxy/mod_proxy_fcgi.c index d121e1b2bf5..c8eb5dbfa0c 100644 --- a/modules/proxy/mod_proxy_fcgi.c +++ b/modules/proxy/mod_proxy_fcgi.c @@ -348,10 +348,11 @@ static apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r, fcgi_req_config_t *rconf = ap_get_module_config(r->request_config, &proxy_fcgi_module); fcgi_dirconf_t *dconf = ap_get_module_config(r->per_dir_config, &proxy_fcgi_module); - if (rconf) { - if (rconf->need_dirwalk) { - ap_directory_walk(r); - } + if (rconf && rconf->need_dirwalk) { + char *saved_filename = r->filename; + r->filename = r->uri; + ap_directory_walk(r); + r->filename = saved_filename; } /* Strip proxy: prefixes */