fREW Schmidt wrote:

I am a little confused about how CAD is supposed to work I guess.

Let's see if we can help...

First off, I have a directory, call it abc.

That right there is kind of a red-flag. Not that you're doing anything wrong, but Apache has a weird notion of PATH_INFO when a real directory exists. And Dispatch relies on PATH_INFO for parsing. You can check what Apache thinks it is by printing the $ENV{PATH_INFO} in your Dispatch.pm.

I think this is all you might need to see from there:

<Directory  "c:/path/to/abc">
   SetHandler perl-script
   PerlHandler ACD::Dispatch
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Why are you using a Directory for this? I'm not sure if that affects what Apache does with PATH_INFO or not, but I usually use a Location. Especially since your not serving things out of that directory directly (instead you're using ACD::Dispatch to provide a "virtual" directory).

Ok, so here is what has been happening:

Go to:
localhost/abc/
Get:
Home, welcome

What is PATH_INFO here? I would expect it to be ''

Go to:
localhost/abc/fdjksalfdsafdsa
Get:
Home, welcome

What is PATH_INFO here? It looks like it should be 'fdjksalfdsafdsa', but Dispatch looks like it's behaving with a PATH_INFO of ''.

Go to:
localhost/abc/jkfldjskljfdkls/home_othercontroller
Get:
Error'd

Again, PATH_INFO looks like it should be 'jkfldjskljfdkls/home_othercontroller' but Dispatch behaves like it's "home_othercontroller"

Go to:
localhost/abc/jkfldjskljfdkls/home_othercontroller/some_rm
Get:
Home/OtherController, some_rm

Similar to the above.

So I guess my questions are: why is it ignoring that first directory?

I think you've hit on a weirdism of Apache changing the PATH_INFO if the real directory (in this case "abc") exists. Try changing the directory name to something else and see if that changes anything.

And
do I actually have to put the startrunmode in the dispatcher?  It seems to
be ignoring the one set in OtherController.pm.

No, the start run mode should be executed if no run mode is given in the PATH_INFO. Try turning on debugging and see if you can get any more information.

--
Michael Peters
Plus Three, LP


#####  CGI::Application community mailing list  ################
##                                                            ##
##  To unsubscribe, or change your message delivery options,  ##
##  visit:  http://www.erlbaum.net/mailman/listinfo/cgiapp    ##
##                                                            ##
##  Web archive:   http://www.erlbaum.net/pipermail/cgiapp/   ##
##  Wiki:          http://cgiapp.erlbaum.net/                 ##
##                                                            ##
################################################################

Reply via email to