Hi,

 

I am running Apache 1.31 with mod_perl 1.27 and am writing a new app for our site using a custom PerlHandler (as opposed to PerlRun, as has been our practice).  I noticed that my PerlTransHandler modules were being called twice, and with a modified URI the second time around.  If my URI was /app/checkout/login, I would see the correct URI on the first trip through, but then /checkout/login on the second trip.

 

After searching the mailing list archives, it seems that Apache might be launching a subrequest because there is no physical /app/checkout/login file or directory on the server.  I found a potential workaround in setting up a PerlPostReadRequestHandler to explicitly call each PerlTransHandler and then set the TransHandler to undef (see http://www.gossamer-threads.com/lists/modperl/modperl/50068?search_string=subrequest%20rv;#50068), but I don’t think this actually stops the subrequest from being fired.  Plus, it could be confusing to someone who doesn’t know what’s going on.

 

I also saw info on mod_dir.  I suppose this could be turned off, but I’m not sure it’s the appropriate place to look since the directory in question (/apps/checkout/login) does not even exist.  Besides, mod_dir is useful elsewhere, and I don’t think I can switch it off locally in a <Location> directive.  (The docs say that AllowOverride None can only be used in a <Directory>.)

 

Is there a way to avoid the subrequest for /checkout/login altogether?  If not, is the PostReadRequestHandler the best workaround?  Is mod_dir pertinent to this problem at all, and if so, what’s the best way to tweak it?

 

Thanks in advance.

 

- Simon

-----------------------------------------------

Simon Miner

Applications Engineer

Christianbook.com

-----------------------------------------------

 

Reply via email to