On Thu, 7 Dec 2006, Matthew Lineen wrote:
> I have the following dhandler issue with mason/mod_perl/apache v1.3:
>
> On disk, I have the following files...
>
> /home/me/inherit/one/index.html
> /home/me/inherit/one/test/dhandler
> /home/me/inherit/one/test/override <-- this is a file not a dir
>
> When I access "http://localhost/me/inherit/test/override/foo", why do I
> see the contents of the "override" file? I would expect that the
> dhandler *should* be serving this!
Because override is a file which exists, dhandler is not called. Instead,
override is called, and the rest of the url path is in the PATH_INFO env
variable. This is a useful effect sometimes.
> Then, if I call $m->decline() in the override file, why is
> $m->dhandler_arg() = 'override'? I would expect that it should be
> 'override/foo'!
"/foo" is still in PATH_INFO. You could try doing:
my $extra_path = $m->dhandler_arg().$ENV{PATH_INFO};
> Alias /me/inherit /home/me/inherit/one
> <Directory /home/me/inherit/one>
Apache is involved in the PATH_INFO stuff. If you really don't want that
to ever happen, you could try using a <Location> configuration in your
httpd.conf. That happens before apache looks at the files, so it might
prevent the PATH_INFO thing from happening, but I have not rigorously
tested it.
~ John Williams
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mason-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mason-users