我在旧服务器上托管了几个网站,现在我想将它们移至新服务器。在切换 DNS 之前,我想测试新服务器中一切是否正常运行。为此,我将所有网站复制到我的新服务器。然后,我按如下方式配置了启用的新Virtual Host
服务器NamedVirtualHost
。
<VirtualHost *:80>
ServerName localhost
DocumentRoot "C:/server/www"
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "c:/server/www/siteone"
ServerName siteone.com
ServerAlias www.siteone.com
<Directory "c:/server/www/siteone">
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "c:/server/www/sitetwo"
ServerName sitetwo.com
ServerAlias www.sitetwo.com
<Directory "c:/server/www/sitetwo"
AllowOverride All
</Directory>
</VirtualHost>
假设新的远程服务器的 IP 是 10.10.10.10。然后我编辑了host
远程服务器的文件以输入10.10.10.10 www.siteone.com
。我检查了它是否在那里工作。
现在我想从本地计算机(不是远程计算机)检查它。我编辑了host
本地计算机的文件以包含10.10.10.10 www.siteone.com
。但它总是从原始位置加载(从它当前所在的位置)。我尝试刷新 DNS、清除浏览器缓存、重新启动浏览器。但一切都徒劳无功。但如果我从本地计算机浏览 10.10.10.10,它会列出文档根目录即的文件夹C:\server\www
。我可能哪里做错了?有人能帮帮我吗?
编辑:我的主机文件
10.10.10.10 siteone.com
10.10.10.10 www.siteone.com
10.10.10.10 sitetwo.com
10.10.10.10 www.sitetwo.com
如果我 ping www.siteone.com,它会给出正确的 IP 10.10.10.10
服务器装有Windows 2008 R2,而我的本地计算机装有Windows 7 Pro。
多谢
答案1
您需要将“siteone.com”定义为 10.10.10.10 以及“www.siteone.com”,它必须先访问服务器(siteone.com)才能转到 ServerAlias(www.siteone.com)。
从技术上讲,siteone.com 和 www.siteone.com 是不同的记录,siteone.com 是主域名,而 www.siteone.com 只是一个子域名。因此,您应该有类似以下内容的内容:
10.10.10.10 siteone.com
10.10.10.10 www.siteone.com