Probleme mit Routing URLs mit CGI und Bottle.py
Frage
Ich habe Schwierigkeiten worden, die immer etwas mehr als ein einfacher Index / zurückzukehren richtig bottle.py in einer CGI-Umgebung. Wenn ich versuche, zurück / hallo ich eine 404-Antwort erhalten. Allerdings, wenn ich bitten /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())
Und hier ist meine .htaccess-Datei
DirectoryIndex index.py
<ifmodule mod_rewrite.c="">
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.py/$1 [L]
</ifmodule>
ich viel von dem Code kopiert von hier, wie ich bin mit DH und es schien relevant: http://blog.coderonfire.com/2010/02/running-bottle-python-micro-framework.html
Danke für die Hilfe.
Lösung
Das Problem ist, dass der <ifmodule>
Block auf Ihren Apache-Server nicht relevant ist und die Richtlinien zu mod_rewrite funktionieren nicht. Beginnen Sie mit dem folgenden .htaccess
und dann, wenn Sie eine Notwendigkeit haben, fügen Sie den Block nach Ihrer aktuellen Apache-Version.
DirectoryIndex index.py
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.py/$1 [L]