|
Graham Dumpleton
grahamd at dscpl.com.au
Mon Nov 14 16:52:23 EST 2005
Waitman Gobble wrote ..
> <?> one thing I've noticed is that ALL requests go to PythonLogHandler
> regardless of my "Files SetHandler None" directive."
>
> If I put
> file = open("/home/wwweb/pyblog/log/output.txt", "at")
> file.write(str(req.the_request)+"\t"+str(req.status)+"\n");
> file.close()
>
> in my index.py then I get this in output.txt
>
> GET / HTTP/1.1 200
> GET / HTTP/1.1 200
> GET / HTTP/1.1 200
>
>
>
> if I put the same thing in log.py then I get this stuff:
>
> GET / HTTP/1.1 200
> GET /css/548xAF.css HTTP/1.1 304
> GET /images/pyblog.png HTTP/1.1 304
>
> Why are the requests for PNG, CSS etc going to log.py???
>
>
> <Directory "/home/wwweb/pyblog/htdocs">
> SetHandler mod_python
> PythonHandler mod_python.publisher
> PythonDebug Off
> PythonLogHandler log::logger
> Options none
> AllowOverride none
> Allow from all
> <Files ~ "\.(gif|jpe?g|png|html?|css|js)$">
> SetHandler None
> </Files>
> <Files *.pyc>
> Deny from all
> </Files>
> </Directory>
The SetHandler/AddHandler directives only control for what situations
the handler specified by the PythonHandler directive is called. If
SetHandler/AddHandler are not used then PythonHandler will not be
called at all.
At the same time though, even if SetHandler/AddHandler isn't defined,
all other handlers which can be specified using the Python*Handler
directives are still called.
Thus, even if mod_python is not used to produce the actual content for
a response, any specified authentication, access, log handlers etc, will
still be called.
Graham
|