J'ai eu des difficultés à obtenir autre chose qu'un simple index/pour retourner correctement en utilisant bottle.py dans un environnement CGI. Quand j'essaie de revenir/bonjour j'obtiens une réponse 404. Cependant, si je demande /index.py/helloProblèmes avec les URL de routage utilisant CGI et Bottle.py
import bottle
from bottle import route
@route('/')
def index():
return 'Index'
@route('/hello')
def hello():
return 'Hello'
if __name__ == '__main__':
from wsgiref.handlers import CGIHandler
CGIHandler().run(bottle.default_app())
Et voici mon fichier .htaccess
DirectoryIndex index.py
<ifmodule mod_rewrite.c="">
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.py/$1 [L]
</ifmodule>
Je copiais une grande partie du code à partir d'ici que j'utilise DH et il nous a semblé pertinent : http://blog.coderonfire.com/2010/02/running-bottle-python-micro-framework.html
Merci de votre aide.
Merci, cela fonctionne. J'ai dû enlever le précédent/sur /index.py/$1 mais cela fonctionne parfaitement. – Risingson
@enrico, je ne suis pas sûr que j'aime votre modification. Je ferais mieux de supprimer la barre oblique au lieu de supprimer le RewriteBase. – newtover
Réglage RewriteBase semble excessif quand il s'agit juste d'une barre oblique, mais certainement rend les choses plus faciles si cela change jamais. Cependant, la vraie raison pour laquelle je n'ai pas simplement supprimé la barre oblique est qu'une modification doit être d'au moins 6 caractères, à cause du filtre stupide "edit important". Vous pouvez le remettre et supprimer le slash si c'est votre préférence. – Enrico