1

在我的 Apache 网络服务器中,我放了这个:

<Directory /var/www/MYDOMAIN.com/htdocs>
    SetHandler mod_python
    PythonHandler mod_python.publisher
    PythonDebug On
</Directory>

然后我有一个带有索引函数的 handler.py 文件。

当我访问 MYDOMAIN.com/handler.py 时,我看到一个由 index 函数生成的网页(只是一个普通的 HTML 页面)。其他所有页面都属于这种类型:MYDOMAIN.com/handler.py/ somename其中somename对应于 handler.py 文件中的函数。

但是当我访问 MYDOMAIN.com 时,我得到了这个:

未找到

在此服务器上找不到请求的 URL /。

mod_python 和发布者有没有办法只使用根而不是 name.py 作为起点?

我已经在 apache conf 文件中尝试过这个:

DirectoryIndex handler.py

无济于事:(

4

2 回答 2

2

是的,但您需要创建自己的处理程序。您当前使用发布者,它只是检查 URI 并加载给定的 python 模块。

要创建自己的处理程序,您需要创建一个像这样的模块(只是一个极简示例):

from mod_python import apache

def requesthandler(req):
    req.content_type = "text/plain"
    req.write("Hello World!")
    return apache.OK

然后你只需在 Apache 配置中指向它。

您仍然可以在自己的处理程序中使用发布者处理程序,尽管 AFAIK 不能拥有漂亮的 URL。

于 2009-01-05T10:51:55.757 回答
0

尝试在目录中创建一个名为 index (或其他)的空文件,然后使用

DirectoryIndex index

似乎 DirectoryIndex 检查是在观察文件系统时完成的。

于 2009-01-05T08:24:49.533 回答