0

我有一个使用 Apache 和 mod_wsgi 设置的 Django 应用程序,它运行良好。我在 /blog/ 子目录中的同一应用程序下有一个 Zinnia 博客。所以,博客是 www.mysite.com/blog/。我想做的是让 blog.mysite.com/ 指向 /blog/ 子目录。我很难过,因为我不知道我应该通过 Django 还是 Apache 来做这件事。那么,有什么想法吗?

4

2 回答 2

0

这必须通过 Apache 配置来完成。

我认为您必须设置一个反向代理,它将侦听 blog.mysite.com 域和对 www.mysite.com/blog/ 的代理请求。

不幸的是,我不是 Apache 专业人士,因此无法帮助您进行配置。

于 2013-10-25T10:54:37.440 回答
0

完全来自内存,现在无法测试,但在 blog.mysite.com 的 VirtualHost 中将其挂载为:

WSGIScriptAlias / /some/path/wsgi.py/blog

换句话说,您仍然使用 mod_wsgi 挂载它,但在目标 WSGI 脚本路径的末尾添加“/blog”。这应该从内存中导致 Apache 和 mod_wsgi 重新映射事物,以便 '/blog' 自动添加为 Django 应用程序看到的 URL 的一部分。因此,它应该映射到在 Django urls.py 中的 URL 命名空间中映射到该位置的博客。

请注意,因为您使用不同的 WSGIScriptAlias 执行此操作,它实际上会在与第一个解释器不同的子解释器中加载 Django 站点的第二个副本。如果不希望这样做,您可以使用 WSGIApplicationGroup 指令来覆盖它们都在哪个应用程序组中运行并将它们设置为相同。如果您还没有使用 mod_wsgi 守护程序模式,最好使用它们并且让它们与 Apache 子工作进程不同地运行,因为这通常比使用嵌入式模式更好。

于 2013-10-25T13:52:14.023 回答