Question

J'ai eu du mal à obtenir quelque chose de plus qu'un simple index / pour revenir en utilisant correctement bottle.py dans un environnement de CGI. Lorsque je tente de revenir / bonjour je reçois une réponse 404. Cependant, si je demande /index.py/hello

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 copié 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 nous aider.

Était-ce utile?

La solution

Le problème est que le bloc <ifmodule> n'est pas pertinent à votre serveur Apache et les directives à mod_rewrite ne fonctionnent pas. Commencez par la .htaccess suivante et si vous avez un besoin, ajoutez le bloc en fonction de votre version actuelle apache.

DirectoryIndex index.py
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.py/$1  [L]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top