Graham Dumpleton
grahamd at dscpl.com.au
Sat Feb 12 21:12:06 EST 2005
On 12/02/2005, at 3:44 PM, Graham Dumpleton wrote: > > On 12/02/2005, at 3:18 PM, Damjan wrote: > >>> Put the following in httpd.conf: >>> >>> SetHandler mod_python >>> PythonHandler module.path.to.handler.file >>> >>> Then in the handler file, def a handler that looks for python scripts >>> and loads them based on the req.uri. The attached very crufty handler >>> might be a good source of amusement. >> >>> def handler(req): >>> # 1. If the file exists & not a directory, serve it. >>> >>> filepath = req.document_root() + req.uri >>> if (os.access(filepath, os.R_OK) >>> and not os.path.isdir(filepath)) : >>> # req.write("sending file\n") >>> req.sendfile(filepath) >>> return apache.OK >> >> Why don't you return apache.DECLINE, that way even php scripts would >> work correctly. > > Hmmm, when I have tried mixing PHP in the same directory and used > apache.DECLINED to throw back unhandled requests to Apache, the PHP > file wouldn't get processed by the PHP module and instead the raw > file would be returned. Thus it has been necessary to have: > > <Files *.php> > SetHandler None > </Files> > > This was though on Apache 1.3 and I haven't tried it on Apache 2.0. I have now tried this on Apache 2.0, and even there, returning apache.DECLINED doesn't result in PHP files being processed correctly without turning off mod_python handling of PHP, so that the PHP module has first go at it. If you have actually got this working, I would like to know how as it would be useful in avoiding the step of disabling the handler for PHP files. Graham
|