我想在共享主機環境中運行Python CGI。我跟着瓶的例子,用一個小應用程序,下面傳來:Flask中的路徑路由
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
@app.route("/pi")
def pi():
return "3.1416"
if __name__ == "__main__":
app.run()
我.htaccess
包含:
Options +ExecCGI
AddHandler cgi-script .cgi .py .rb
DirectoryIndex index.cgi index.htm
而且我index.cgi
是
#!/usr/bin/env python
from wsgiref.handlers import CGIHandler
from firstflask import app
CGIHandler().run(app)
它的路徑/
成功映射到index()
,但它無法將路徑/pi
映射到pi()
,而是將re發生404錯誤。我想我錯過了一些明顯的東西。謝謝您的幫助。
這是Apache嗎?我認爲添加一個Apache標籤可能會給你更多的答案,因爲這似乎更像是一個Web服務器配置問題。 – six8 2012-04-03 00:46:45
你的主機只支持CGI,還是支持mod_python或mod_wsgi?這些都是更好的選擇。 – six8 2012-04-03 00:53:44
Cixate,你是對的,這是與Apache。我是python web-frameworks的新手。 cgi設置似乎比mod-wsgi設置更快。這就是我選擇cgi的原因。另一件事,我懷疑它可能需要url重寫。但是因爲我沒有看到文檔中提到的任何url-rewrite,所以我認爲沒有必要。謝謝 – sdc 2012-04-03 02:37:52