Voglio eseguire un CGI Python su un ambiente di hosting condiviso. Ho seguito l'esempio di Flask e si avvicinò con una piccola applicazione come di seguito:Instradamento percorso nel pallone
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()
mio .htaccess
contiene:
Options +ExecCGI
AddHandler cgi-script .cgi .py .rb
DirectoryIndex index.cgi index.htm
E il mio index.cgi
è
#!/usr/bin/env python
from wsgiref.handlers import CGIHandler
from firstflask import app
CGIHandler().run(app)
Esso mappa con successo il percorso /
a index()
, tuttavia non riesce a mappare il percorso /pi
a pi()
, invece di girando un errore 404. Credo che mi manchi qualcosa di ovvio. Grazie per l'aiuto.
È questo con Apache? Penso che l'aggiunta di un tag Apache probabilmente ti darà più risposte poiché questo sembra essere più un problema di configurazione del server web. – six8
Il tuo host supporta solo CGI o supporta mod_python o mod_wsgi? Quelle sono opzioni molto migliori. – six8
Cixate, hai ragione è con Apache. Sono nuovo per i framework web Python. L'impostazione cgi sembra più veloce di mod-wsgi per l'installazione. Ecco perché scelgo cgi. Un'altra cosa, ho il sospetto che potrebbe aver bisogno di url-riscrittura. Ma poiché non ho visto alcuna riscrittura di URL menzionata nel documento, quindi presumo che non sia necessario. Grazie – sdc