我有一个用Apache和mod_wsgi设置的Django应用程序,它运行正常。我在/ blog /子目录下的同一个应用程序下有一个Zinnia博客。所以,博客是www.mysite.com/blog/。我想做的是将blog.mysite.com/指向/ blog /子目录。我很难过,因为我不知道我是否应该通过Django或Apache来做到这一点。那么,有什么想法吗?
答案 0 :(得分:0)
必须使用Apache配置完成。
我认为你必须设置一个反向代理,它将收听blog.mysite.com域和代理请求到www.mysite.com/blog /.
不幸的是,我不是Apache专业版,因此无法帮助您进行配置。
答案 1 :(得分:0)
完全从内存中无法立即测试,但在VirtualHost for blog.mysite.com中将其安装为:
WSGIScriptAlias / /some/path/wsgi.py/blog
换句话说,您仍然使用mod_wsgi挂载它,但将“/ blog”添加到目标WSGI脚本路径的末尾。这应该从内存中导致Apache和mod_wsgi重新映射,以便'/ blog'自动添加为Django应用程序看到的URL的一部分。因此,它应该映射到Django urls.py中的URL名称空间中该位置映射的博客。
请注意,因为您使用不同的WSGIScriptAlias进行操作,它实际上会在内存中以与第一个不同的子解释器加载Django站点的第二个副本。如果这是不合需要的,您可以使用WSGIApplicationGroup指令覆盖它们运行的应用程序组并将它们设置为相同。最好使用mod_wsgi守护进程模式,如果你还没有,并让它们与Apache子进程进程不同,因为这通常比使用嵌入模式更好。