3

n00b 问题。我有一个 .htaccess 文件,其中包含以下内容:

AddHandler python-program .py
PythonHandler index

我尝试编写另一个名为 script2.py 的程序,但是当我键入它时,它会重定向到 fileserver/index.py。有什么办法可以阻止这种情况?

4

1 回答 1

3

有不同的方式来配置 mod_python。我想你想要python.publisher。文档显示了这个配置:

AddHandler python-program .py
PythonHandler mod_python.publisher

然后,对于您的示例, script2.py 将具有以下内容:

def index(req):
    # Your handler here

请注意,文档说:

此处理程序允许通过 URL 访问模块内的函数和变量。

文档提供了这个示例(我已将其更改为使用 script2.py):

def say(req, what="NOTHING"):
    return "I am saying %s" % what

URL http://www.mysite.com/script2.py/say将返回“我没有说什么”。URL http://www.mysite.com/hello.py/say?what=hello将返回“我在打招呼”。

通常你不想暴露每个函数和变量。

如果出现以下情况,遍历将停止并且 HTTP_NOTFOUND 将返回给客户端:

  • 任何遍历对象的名称都以下划线(“_”)开头。使用下划线保护不应从 Web 访问的对象。
于 2013-02-16T16:51:05.060 回答