Проблема перенаправления Django Apache

Я настраиваю свой проект 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? То есть как я могу сделать /accounts/... page вместо /cflow/accounts/...?

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

Ответы

Ответ 1

Что нужно попробовать:

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

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

    LOGIN_URL = '/cflow/accounts/login/'