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 Mason-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mason-users