2009-06-24 12 views
11

Estoy configurando mi proyecto Django para que se ejecute en Apache usando mod_wsgi. Estoy intentando ejecutar Django debajo del directorio 'cflow' en apache, pero estoy teniendo problemas con los redireccionamientos.Problema de redireccionamiento de Django Apache

Mi configuración del Apache es como la siguiente:

... 
WSGIScriptAlias /cflow "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi\django.wsgi" 
<Directory "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi"> 
    Order allow,deny 
    Allow from all 
</Directory> 
<Directory "C:\Projects\myproject\src"> 
    Order allow,deny 
    Allow from all 
</Directory> 

El problema que estoy corriendo en es que si el usuario no está conectado, una solicitud de /cflow/somepage.html será reidrected a/accounts/login? next =/cflow/somepage.html. Esta nueva dirección no está debajo de la raíz django (flujo c), por lo que apache responde con un 404 No encontrado.

Mi pregunta es ¿cómo puedo hacer que los redireccionamientos de Django estén mapeados para estar debajo del directorio raíz de las aplicaciones en apache? Es decir. ¿Cómo puedo hacer que la página/accounts/... sea en su lugar/cflow/accounts/...?

Gracias por cualquier ayuda.

Respuesta

15

cosas para probar:

  1. cambio de dominio actual a "yourdomain.tld/cflow" en el "sites" framework. Es fácil de hacer usando los comandos django admin o dumpdata/loaddata manage.py.

  2. Parece que su sitio está usando el decorador login_required. En ese caso en particular puede agregar a settings.py:

    LOGIN_URL = '/ cflow/accounts/login /'

+3

Gracias. Esperaba una solución transparente para la aplicación Django. Me gustaría poder probar el sitio en una dirección/servidor e implementar en otro sin ninguna configuración adicional. Voy a mirar en el marco de sitios, sin embargo. Gracias por el consejo. – liminal

+1

Pensé que sería más sencillo, también, pero definitivamente esta es una respuesta correcta. Estaba teniendo el mismo problema y finalmente encontré esta respuesta. Gracias Alex! –

Cuestiones relacionadas