Проблема перенаправления 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/'