目前,我有一个在 Apache/2.2.3 上运行的生产网站。我大量使用 mod_rewrite 并且有大约 200 条 RewriteRule。
现在我需要将另一个网站从第二个域名添加到服务器,我想使用虚拟主机来实现这一点。这是 2 个网站、2 个域名、1 个网络服务器。
现有站点运行完美,如非必要,我不想打扰它。
我的问题:
我是否需要将现有网站移至<virtualhost>
容器中?或者是否有办法为新域名创建一个新的虚拟网站,而现有网站则保持原样?
如果我确实需要移动旧网站,我是否必须将所有重定向和整个<Directory "/var/www/html">
部分移动到虚拟主机容器中?
谢谢
答案1
Directory
上下文之外的指令VirtualHost
将默认由虚拟主机使用,除非它们被覆盖。如果我没记错的话,重写规则不是这种情况。
无论如何,将虚拟主机特定配置分开是一种很好的做法,因为这可以使事情井然有序并避免混淆。如今将虚拟主机拆分成不同的文件是很常见的,一些发行版默认提供此环境。
答案2
您应该在您的确切环境中测试这一点,但我确实有一个像您描述的那样设置的服务器。“默认”配置中有很多配置(即直接在 httpd.conf 中,而不是在 VirtualHost 中)。然后我在 sites-enabled 下有一些带有 VirtualHost 条目的配置文件,如下所示:
服务器名称 mysecondserver
...
而且效果很好。