2009-06-24 13 views
11

Sto configurando il mio progetto Django per l'esecuzione su Apache usando mod_wsgi. Sto tentando di eseguire Django sotto la directory 'cflow' su apache, ma sto avendo problemi con i reindirizzamenti.Django Apache Reindirizzamento Problema

mio apache conf simile a questa:

... 
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> 

Il problema che sto funzionando in è che se l'utente non è connesso, una richiesta di /cflow/somepage.html verrà reidrected a/conti/login? successivo =/CFLOW/somepage.html. Questo nuovo indirizzo non è al di sotto della radice django (cflow), quindi apache risponde con un 404 non trovato.

La mia domanda è: come posso fare in modo che i reindirizzamenti di Django siano mappati sotto la directory root delle applicazioni su apache? Cioè come posso rendere la pagina/accounts/... essere invece/cflow/accounts/...?

Grazie per qualsiasi aiuto.

risposta

15

Cose da provare:

  1. Modifica dominio corrente a "yourdomain.tld/CFLOW" nel "sites" framework. È facile da fare usando i comandi django admin o dumpdata/loaddata manage.py.

  2. Sembra che il sito stia utilizzando il decoratore login_required. In questo caso particolare, è possibile aggiungere al settings.py:

    LOGIN_URL = '/ CFLOW/account/login /'

+3

Grazie. Speravo in una soluzione trasparente per l'app Django. Mi piacerebbe essere in grado di testare il sito su un indirizzo/server e distribuirlo su un altro senza alcuna configurazione aggiuntiva. Vedrò comunque il framework dei siti. Grazie per il consiglio. – liminal

+1

Ho pensato che sarebbe stato anche più semplice, ma questa è sicuramente una risposta corretta. Stavo avendo lo stesso problema e finalmente ho trovato questa risposta. Grazie alex! –

Problemi correlati