Проблема перенаправления Django Apache - PullRequest
12 голосов
/ 24 июня 2009

Я настраиваю свой проект Django для запуска на Apache, используя mod_wsgi. Я пытаюсь запустить Django ниже каталога 'cflow' на apache, но у меня проблема с перенаправлениями.

Мой apache conf выглядит примерно так:

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

Проблема, с которой я сталкиваюсь, заключается в том, что если пользователь не вошел в систему, запрос на /cflow/somepage.html будет перенаправлен в /accounts/login?next=/cflow/somepage.html. Этот новый адрес находится не ниже корня django (cflow), поэтому apache отвечает сообщением 404. Not Found.

Мой вопрос: как мне перенаправить Django, чтобы он был ниже корневого каталога приложений на apache? То есть как мне сделать так, чтобы страница / account / ... была вместо /cflow/accounts/...?

Спасибо за любую помощь.

1 Ответ

15 голосов
/ 24 июня 2009

Что попробовать:

  1. Измените текущий домен на «yourdomain.tld / cflow» в «sites» framework Это легко сделать с помощью команд django admin или dumpdata / loaddata manage.py.

  2. Похоже, ваш сайт использует login_required decorator. В этом конкретном случае вы можете добавить к settings.py :

    LOGIN_URL = '/ cflow / accounts / login /'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...