2013-10-25 45 views
0

我有一个Django应用程序与Apache和mod_wsgi设置,它工作正常。我在/ blog /子目录下的相同应用程序下有一个百日草博客。所以,这个博客是www.mysite.com/blog/。我想要做的是将blog.mysite.com/指向/ blog /子目录。我很难过,因为我不知道我是否应该通过Django或Apache来做到这一点。那么,有什么想法?试图设置Django应用程序子目录作为子域

+0

您应该首先配置您的Web服务器(即接收DNS名称并进行别名)。如果你使用Nginx然后配置它。如果没有,你可以配置Apache。当然,请确保blog.mysite.com匹配相同的IP地址。 – sergzach

回答

0

这必须用Apache配置完成。

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

不幸的是,我不是一个Apache专业版,所以不能帮助您进行配置。

0
从内存

完全和现在不能测试,但在虚拟主机的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守护进程模式,那么最好使用mod_wsgi守护进程模式,并且使它们与Apache子进程工作进程不同,因为这通常比使用嵌入模式更好。

+0

不幸的是,似乎没有工作。我得到了一个错误: '内部服务器错误:/ blog/favicon.ico' 不知道我是否应该改变我的网址中的任何内容...... –

+0

/favicon.ico的请求总是要无论如何很可能失败,因为你的Django应用程序可能不会理解这样的请求。您应该使用Alias指令来映射这些特殊的URL。换句话说,这是一个无关的问题。请参阅http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide#Mounting_At_Root_Of_Site因此,您是否有任何其他细节说明失败的原因,因为这不是原因。 –

相关问题