我正在使用mod_wsgi将我的Django项目配置为在Apache上运行。我试图在apache上的'cflow'目录下运行Django,但遇到重定向问题。
我的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 root(cflow)之下,所以apache以404 Not Found回应。
我的问题是如何将Django重定向映射到apache上的应用程序根目录下?即如何将/ accounts / ...页面改为/ cflow / accounts /...?
感谢您的帮助。
答案 0 :(得分:15)
要尝试的事情:
在"sites" framework中将当前域更改为“yourdomain.tld / cflow”。使用django admin或dumpdata / loaddata manage.py命令很容易。
您的网站似乎正在使用login_required装饰器。在这种特殊情况下,您可以添加到settings.py:
LOGIN_URL ='/ cflow / accounts / login /'