mod_python中的URL未按预期工作

时间:2011-02-02 03:04:23

标签: python apache url mod-python

我正在使用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以外的东西吗?

1 个答案:

答案 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映射到代码,或者基于横向的网址发送。