apache2上的python 404错误

时间:2011-04-11 07:06:31

标签: python apache2

我在test.py有一个文件/var/www,我在ubuntu 10.10上使用apache2。我已安装mod_python并将/etc/apache2/sites-available/default配置为

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride AuthConfig
    Order allow,deny
    allow from all

    AddHandler mod_python .py
    PythonHandler mod_python.publisher
    PythonDebug On

    # Uncomment this directive is you want to see apache2's
    # default start page (in /apache2-default) when you go to /
    #RedirectMatch ^/$ /apache2-default/
</Directory>

如果放

def index(req):
  return "Test successful";

然后我得到Test successful

如果我把

#!/usr/bin/env python
print "Content-Type: text/html"
print
print """\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""

我收到404: Not found错误

可以找到更多here

任何想法?

此致

experimentX

2 个答案:

答案 0 :(得分:2)

mod_python在尝试处理您的请求时默认查找方法def index(req),否则您可以指定要在URL中调用的函数。请注意,函数必须返回特定值。

所以你可以做点什么

s ="""\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""

def index():
   return s

mod_python下的url travelsal是illustrated here.

答案 1 :(得分:1)

我建议您使用mod_python而不是mod_wsgi,因为有很多使用WSGI的框架,例如FlaskCherryPyBottle等。 ..

使用这些框架的好处是你甚至不必在开发机器上使用Apache,而是可以使用他们的内置测试服务器。