Django Apache重定向问题

lim*_*nal 12 apache django redirect mod-wsgi

我正在使用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>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,如果用户未登录,则会将/cflow/somepage.html的请求重新发送到/accounts/login?next=/cflow/somepage.html.这个新地址不在django root(cflow)之下,因此apache以404 Not Found响应.

我的问题是如何将Django重定向映射到apache上的应用程序根目录下?即我如何使/ accounts/...页面改为/ cflow/accounts/...?

谢谢你的帮助.

ale*_*asi 15

要尝试的事情:

  1. 将当前域更改为"sites"框架中的" yourdomain.tld/cflow" .使用django admin或dumpdata/loaddata manage.py命令很容易.

  2. 看起来您的网站正在使用login_required装饰器.在这种特殊情况下,您可以添加到settings.py:

    LOGIN_URL ='/ cflow/accounts/login /'

  • 谢谢.我希望有一个对Django应用程序透明的解决方案.我希望能够在一个地址/服务器上测试该站点,并在没有任何其他配置的情况下部署在另一个地址/服务器上.不过,我会研究网站框架.谢谢你的提示. (3认同)