我正在使用apache和mod_python构建一个Web服务器。我已经创建了index.py,就像我见过其他人一样,但与其他人不同,我没有在网址中添加.py
就无法访问网页。
例如,http://127.0.1.1/commentsubmit
生成404,但http://127.0.1.1/commentsubmit.py
按预期显示页面。
一切都在我的index.py中,http://127.0.1.1/
很好,但没有.py
。我的其他方法看起来像这样:
def commentsubmit(req):
rest of method
我很确定问题在于mod_python,但我不知道是什么。是否有某种配置设置可能会这样做?我应该导入from mod_python import apache
以外的东西吗?
答案 0 :(得分:1)
您的apache服务器已经配置为将请求传递到以.py结尾的文件名到mod_python(如果文件存在于目录中。)
有许多不同的解决方案可以将请求/ commentsubmit传递给commentsubmit.py处理程序。最简单的可能是使用mod_rewrite。将此添加到.htaacess:
RewriteEngine On
RewriteOptions Inherit
RewriteRule ^commentsubmit$ commentsubmit.py
这是一种过时的做事方式。我重新开始考虑pyramid(或者pylons,或django,或者其他百万个wsgi框架中的一个。)然后,您可以更好地控制如何使用基于路由的URL调度将ulrs映射到代码,或者基于横向的网址发送。