全新的网页设计,使用 python。让 Apache 启动并运行,测试 python 脚本在 cgi-bin 目录中工作。当我显式输入 URL 时获得有效结果:“.../cgi-bin/showenv.py”
但我不希望 URL 看起来那样。例如,在 stackoverflow,地址栏中显示的 URL 从来没有显示用于运行它们的脚本的混乱细节。它们没有 cgi-bin、.py 等扩展名。我怎么做?
编辑:感谢您的回复,每一个都有帮助,有很多东西值得学习。我现在将使用 URL 重写;文档中的示例看起来非常接近我真正想做的事情。但我致力于 python,所以以后必须看看 WSGI。
python 编写 Web 应用程序的方式不是 cgi-bin。这是通过使用WSGI http://wsgi.org.
WSGI 是 Web 服务器和 Python Web 应用程序或框架之间的标准接口。这PEP 0333 http://www.python.org/dev/peps/pep-0333/定义它。
使用它代替 CGI 没有任何缺点。并且你会收获很多。漂亮的 URL 只是您可以轻松完成的巧妙事情之一。
此外,编写 WSGI 应用程序意味着您可以部署在任何支持 WSGI 接口的 Web 服务器上。 Apache 通过使用来做到这一点mod_wsgi http://code.google.com/p/modwsgi/.
你可以像这样在 apache 中配置它:
WSGIScriptAlias /myapp /usr/local/www/wsgi-scripts/myapp.py
然后所有请求http://myserver.domain/myapp
将转到 myapp.py 的application
可调用,包括http://myserver.domain/myapp/something/here
.
example myapp.py
:
def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/plain')])
return ['Hello World!']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)