* David Pisoni <[EMAIL PROTECTED]> wrote:
> Hello again modperlers,
> 
> I am using perl 5.6.1 / Apache 1.3.20 / mod_perl 1.26.
> 
> I have an interesting problem which maybe someone could shed some
> light on :
> 
> I have an early phase handler (can be done as either a
> PerlPostReadRequestHandler or a PerlTransHandler) which manipulates
> the request URI.  The purpose of the handler is to strip out the
> first segment of the URI path and employ that as a "user type"
> string.  I presently have it as a TransHandler which returns
> DECLINED, expecting Apache to continue URI translation based on the
> new URI setting.  For almost all types of URIs this functionality is
> working: it works for files in the DocumentRoot, it works for
> PerlHandlers declared in <Location> blocks, and it works for Alias
> mapped paths. Only one thing breaks...
> 
> The one URI type which isn't resolved correctly is
> DirectoryIndex-resolved paths.  If mod_autoindex is on, then an
> AutoIndex directory listing is displayed.  If mod_autoindex is off,
> a "NOT FOUND" error is displayed.  If I access the same directory
> without the URI manipulation (and without the extra "user type"
> segment), the DirectoryIndex-specified file is served as expected.
> 
> I thought to myself, maybe the mod_dir resolution wants to be before
> any declared PerlTransHandler (even though mod_autoindex comes
> after) so I tried moving my handler to a PostReadRequestHandler.
> Same effect though -- something is short-circuiting the
> DirectoryIndex function of mod_dir.
> 
> Anyone else encounter this?  Any ideas how to resolve?

Don't try to strip the uri in sub requests ($r->is_main()).

   --Nikolaus

Reply via email to