gpt4 book ai didi

python - 如何从我的网址中隐藏 "cgi-bin"、 ".py"等?

转载 作者:太空狗 更新时间:2023-10-29 17:37:20 25 4
gpt4 key购买 nike

网页设计新手,使用 Python。启动并运行 Apache,测试在 cgi-bin 目录中运行的 python 脚本。当我明确输入 URL 时获得有效结果:“.../cgi-bin/showenv.py”

但我不希望 URL 看起来像那样。例如,在 stackoverflow,显示在我的地址栏中的 URL 从来没有显示用于运行它们的脚本的困惑细节。它们没有 cgi-bin、.py 等扩展名。我该怎么做?

编辑:感谢您的回复,每一个都有帮助,有很多值得学习的地方。我现在打算使用 URL 重写;文档中的示例看起来非常接近我实际想要做的事情。但我致力于 python,因此今后将不得不关注 WSGI。

最佳答案

python写web应用的方式不是cgi-bin。它是通过使用 WSGI .

WSGI 是网络服务器和 Python 网络应用程序或框架之间的标准接口(interface)。 PEP 0333定义它。

使用它代替 CGI 没有任何缺点。而且你会收获很多。漂亮的 URL 只是您可以轻松完成的巧妙事情之一。

此外,编写 WSGI 应用程序意味着您可以部署在任何支持 WSGI 接口(interface)的 Web 服务器上。 Apache 通过使用 mod_wsgi 来做到这一点.

你可以像这样在apache中配置它:

WSGIScriptAlias /myapp /usr/local/www/wsgi-scripts/myapp.py

然后所有对http://myserver.domain/myapp的请求都会转到myapp.py的application可调用,包括http://myserver.domain/myapp/something/here

示例 myapp.py:

def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/plain')])
return ['Hello World!']

关于python - 如何从我的网址中隐藏 "cgi-bin"、 ".py"等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/882430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com