从实际站点URL运行测试站点?

时间:2016-08-25 12:19:24

标签: apache virtualhost sysadmin

假设我在test.site.com上有一个测试站点,现场网站是www.site.com。它们都托管在同一个Linux Apache服务器上,我们使用VirtualHosts来指示每个站点的文档根目录。

这两个站点的后端完全不同,但看起来相同(它们运行不同的CMS,并且具有完全不同的文件和URL结构)。在将测试站点推向现场之前,我们显然希望确保所有链接和所有内容都能正常运行,当网址为www.site.com时,该站点并未实际推送它。通常情况下,我会使用两个独立的服务器,只需更改自己的主机文件,将实时域指向测试服务器IP,但在此配置中,它们共享相同的IP。

有没有办法在我目前的设置中实现这一目标?我希望我可以制作一个条件vhost指令,只对一个IP(我们的办公室静态IP)生效,但看起来可能不可能?

为了上线,我只是想更新vhosts文件来更改虚拟主机的文档根目录并重新启动apache,但我不知道如何使用live url(www.site.com)进行测试

1 个答案:

答案 0 :(得分:0)

如果你问我这不应该是一个问题,如果你的CMS的构建方式是将URL保存为相对URL。我建议在页面加载时定义域应该是什么,比如

<?php
    define('DOMAIN', 'http://example.com');
?>

然后使用该全局变量创建指向您页面的链接。这样,只要您没有一些暗示您在特定域上的代码,那么您所在的域名无关紧要。除此之外,如果你切换网站运行的域名,我不明白为什么会出现问题。