使用Python脚本的.htaccess
新手问题。 我有一个.htaccess文件,里面有以下内容:
AddHandler python-program .py
PythonHandler index
我尝试写一个叫做script2.py的程序,但当我输入fileserver/script2.py时,它却重定向到fileserver/index.py。有没有办法阻止这种情况发生?
1 个回答
3
配置mod_python的方法有很多种。我觉得你想要的是python.publisher。文档中展示了这样的配置:
AddHandler python-program .py
PythonHandler mod_python.publisher
接下来,针对你的例子,script2.py应该包含类似这样的内容:
def index(req):
# Your handler here
注意,文档中提到:
这个处理程序允许通过网址访问模块中的函数和变量。
文档中提供了这个例子(我已经修改为使用script2.py):
def say(req, what="NOTHING"):
return "I am saying %s" % what
一个网址 http://www.mysite.com/script2.py/say 会返回 "我什么都没说"。而一个网址 http://www.mysite.com/hello.py/say?what=hello 会返回 "我说的是你好"。
通常你不想让每个函数和变量都暴露出来。
如果以下情况发生,遍历将停止,并且会返回HTTP_NOTFOUND给客户端:
- 任何被遍历对象的名称以一个下划线("_")开头。使用下划线来保护那些不应该从网络访问的对象。