Hello everyone - I'm in the unfortunate position of being needing to write an Apache 2.0 module using mod_perl 2.0, while being simultaneously new to both mod_perl, the Apache API, and perl itself. I guess I'm a glutton for punishment, or something. (Did I mention this is all on Win32?)
What I want my module to be able to do is to substitute content from various plug-in applications as the response to various URLs. For example, if the user requests www.mydomain.com/app1/file I want app1.exe (or whatever) to retrieve a file / run a database query / do some processing and return some output. Importantly, I *then* want the rest of Apache to treat this file as if it had come from the file system, e.g. it it's a .php file I still want PHP to handle it, if there are any other handlers assigned I still want them to handle it. In short, this substitution has to be completely transparent. (This should be possible by returning Apache::DECLINED, but it doesn't seem to work like that, see below) Now, I know it's possible to configure Apache with app1.exe as a handler for /app1, etc.. What I'm creating is a single module that handles *all* URLs (i.e. handles "/"), and manages the mapping itself. So far, I think the best way to do this is to create a URI translation handler module which will simply use $r->uri() to call the application with whatever data and parameters it needs. First question: 1. Is this really the best way to supply the server with content that comes from elsewhere than simply the file system? I've written a simple translator which can return .html files, but if I set the uri to a .php file the server seems to go into a loop (I've been unable to diagnose what's actually happening). 2. Why would setting $r->uri() to a .php file be any different to the rest of the server than setting it to a .html file? and finally 3. How to ensure that the server treats the output of an application the same as it does a file, i.e. applying all the necessary handlers etc? Any and all advice appreciated, including "You fool! This already exists!" :-) Seldo. ____________________________________________ Seldo Voss: www.seldo.com ICQ #1172379 or [EMAIL PROTECTED] -------------------------------------------- To know the road ahead, ask those coming back.