2010-04-18 14 views
6

He estado teniendo dificultades para obtener algo más que un simple índice/para regresar correctamente utilizando bottle.py en un entorno CGI. Cuando intento regresar/Hola, obtengo una respuesta 404. Sin embargo, si solicito /index.py/helloProblemas con las URL de enrutamiento usando CGI y 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()) 

Y aquí está mi archivo .htaccess

DirectoryIndex index.py 
<ifmodule mod_rewrite.c=""> 
RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /index.py/$1 [L] 
</ifmodule> 

he copiado gran parte del código de aquí lo estoy usando DH y parecía relevante : http://blog.coderonfire.com/2010/02/running-bottle-python-micro-framework.html

Gracias por ayudarnos.

Respuesta

4

El problema es que el bloque <ifmodule> no es relevante para su servidor Apache y las instrucciones para mod_rewrite no están funcionando. Comience con el siguiente .htaccess y luego, si tiene alguna necesidad, agregue el bloque de acuerdo con su versión actual de apache.

DirectoryIndex index.py 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /index.py/$1 [L] 
+1

Gracias, esto funciona. Tuve que eliminar el precedente/en /index.py/$1 pero luego funciona perfectamente. – Risingson

+0

@enrico, no estoy seguro de que me guste tu edición. Mejor eliminaría la barra inicial en lugar de eliminar RewriteBase. – newtover

+0

El ajuste RewriteBase parece excesivo cuando solo se trata de una barra inclinada, pero sin duda facilita las cosas si alguna vez cambia. Sin embargo, la verdadera razón por la que no solo eliminé la barra diagonal es una edición que debe tener al menos 6 caracteres, debido al filtro tonto de "edición significativa". Puede volver a colocarlo y eliminar la barra si así lo prefiere. – Enrico

Cuestiones relacionadas