如何更改DjangoBB基本URL的想法?

时间:2012-12-04 06:42:13

标签: python django wsgi

我已经设置了一个带有mod_wsgi的Apache Web服务器,并成功修改了DjangoBB的basic_project,以便在Apache的/forum/子树下从Apache调用。我遇到的问题是WSGI应用程序接收(正确)没有/forum/前缀的URL,但在结果页面中生成没有任何前缀的URL。

问题示例:打开http://site/forum/会显示DjangoBB论坛的起始页面; Log In链接指向http://site/account/signin/,而不是所需的http://site/forum/account/signin

如何让DjangoBB应用生成的所有网址都包含自定义前缀(在我的情况下为/forum/)?

更新(根据要求):

配置项目以供在WSGI下使用的httpd.conf部分:

WSGIPythonPath /var/www/forum:/var/www/forum/xforum:/var/www/forum/venv/lib/python2.7/site-packages
WSGIScriptAlias /forum /var/www/forum/xforum/wsgi.py

<Directory /var/www/forum/xforum>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

请注意,如果不同时包含项目目录(…/forum/xforum)及其父目录(…/forum),则WSGI应用程序无法正常运行。

1 个答案:

答案 0 :(得分:0)

在项目的settings.py中,FORCE_SCRIPT_NAME应该是项目的网址开头的前缀,并带有斜杠(/):

就我而言,它应该是:

FORCE_SCRIPT_NAME = '/forum'