Apache VirtualHost:从一个站点移动到“单个服务器,2个站点”

目前,我有一个运行在Apache / 2.2.3上的单一生产网站。 我广泛使用mod_rewrite,并有大约200个RewriteRule的。

现在我需要从第二个域名添加另一个网站到服务器,我想使用虚拟主机来做到这一点。 这是2个网站,2个域名,一个networking服务器。

现有网站运行良好,如果不需要,我不想打扰它。

我的问题:

我是否需要将现有网站移动到<virtualhost>容器中? 或者有没有办法为新的域名创build一个新的虚拟网站,并保持现有的?

如果我需要移动旧站点,是否必须将所有redirect和整个<Directory "/var/www/html">部分移动到虚拟主机容器中?

谢谢

虚拟主机默认情况下会使用虚拟主机上下文以外的Directory指令,除非它们被覆盖。 如果我记得正确的话,重写规则不是这样的。

无论如何,将虚拟主机的具体configuration保持分开是一个很好的做法,因为这样可以保持组织的顺畅,避免混淆。 如今,虚拟主机被分割成不同的文件是很常见的,一些发行版默认提供这种环境。

你应该在你确切的环境中testing这个,但是我确实有一个像你所描述的一样的服务器。 在“默认”configuration中有一堆configuration(即直接在httpd.conf中,而不在VirtualHost中)。 然后我在站点下启用一些configuration文件与VirtualHost条目是这样的:

ServerName mysecondserver

它运作良好。