Context : Apache2, mod_perl2, Tomcat, mod_jk1.2 In an Apache2/Tomcat5 setup, I have the following configuration directives : <IfModule mod_jk.c># - URI's corresponding to calls to the X servlet are redirected to tomcat via the mod_jk module
JkMount /xyz ajp13 JkMount /xyz/* ajp13 </IfModule>But, I would like some of the above URL request to be pre-processed by a mod_perl handler, like
<Location /xyz> SetHandler perl-script PerlResponseHandler My::module PerlSetVar anyvar "anyvalue" </Location>My::module would do something (or not) to the request, then it should let the (possibly modified) request go through, so that the mod_jk module can intercept it and re-direct it to Tomcat.
The problem is that I can *either* have one or the other configuration snippet above, but if I try both, then the request is always "short-circuited" by the mod_jk module (and re-directed to Tomcat), and the mod_perl handler is never executed. Or vice-versa I think, depending on which comes last.
I have found one solution, which is to install the mod_perl handler as a PerlAccessHandler, as such :
<Location /xyz> PerlAccessHandler My::module PerlSetVar anyvar "anyvalue" </Location>In this way, the mod_perl handler is executed in an earlier Apache phase than the mod_jk intercept. It works fine, but since the function of the module has basically not much to do with Access Control, I wonder if there is not a more elegant way to do this.
I guess it boils donw to the following more generic question :Assuming that the Apache configuration would already specify some (non-perl) handlers for some Location, Directory or whatever, is there a way to "insert" mod_perl handlers in the chain, without overriding the other handlers ? And if yes, what does the mod_perl handler need to return to insure that the other handlers run also (OK, DECLINED,..) ?
Anyone has an idea ? Thanks in advance aw
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.