On Mar 11, 2015, at 9:59 AM, David E. Wheeler <[email protected]> wrote:
> # Set the filename.
>
> my $file = File::Spec->catfile($sub_root, substr $r->uri, 1);
> $r->filename($file);
> $r->finfo(APR::Finfo::stat($file, APR::Const::FINFO_NORM, $r->pool));
> return DECLINED;
> }
>
> I have no PerlReponseHandler, so Apache handles the response…and returns 404.
> Note that a request for /hi.txt; it’s only a request in a subdirectory,
> /foo/bar.html, that fails. Why? Why isn’t Apache able to find that file? Is
> there some other attribute of $r I need to set or unset?
Turns out I was able to fix this issue by unsetting path_info. I just added
$r->path_info(undef);
To the above code, and now Apache can find the file.
I do not understand the relationship between filename (which is often not the
full path to a file) and path_info. Fortunately, it looks like I don’t have to.
But we might want to consider updating the docs to recommend unsetting
path_info when setting the full path to a file in filename.
Best,
David
smime.p7s
Description: S/MIME cryptographic signature
