我非常熟悉 Linux 上 apache 的运作。
环境:托管 VPS(完全访问)
Windows Server 2003 数据中心 x64 版本,Apache 2.2
我有 2 个想要托管的简单网站。
example1.com 和 example2.org
该服务器最初由其他人设置,并且 example1.com 运行正常。
所以我的任务是将 example2.org 添加到服务器。
我在 C:\www\example2 中创建了一个基本的 index.html 测试页面
在 httpd-vhosts.conf 中添加虚拟主机记录
为了测试目的,将 127.0.0.1 example2.org 添加到我的主机文件中,以便我可以进行本地测试。
这一切都按预期进行,我可以查看显示我的测试 html 文件的 example2.org。
问题是...当 DNS 传播时,当我从本地 Windows 服务器以外的任何地方访问 example2.org 时,它会显示 example1.com 站点。
我完全搞不懂为什么会发生这种情况?有什么想法吗?
什么时候 Apache 读取外部连接与读取本地连接的方式不同?
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.example2.org
ServerAlias example2.org
ServerAdmin [email protected]
DocumentRoot "C:/www/example2"
<Directory "C:/www/example2">
Order Deny,Allow
Allow from all
</Directory>
ErrorLog "logs/example2-error.log"
CustomLog "logs/example2-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerName www.example1.com
ServerAlias www.example1.com
ServerAdmin [email protected]
DocumentRoot "C:/www/example1"
<Directory "C:/www/example1">
Order Deny,Allow
Allow from all
</Directory>
ErrorLog "logs/example1-error.log"
CustomLog "logs/example1-access.log" common
</VirtualHost>
以上就是我的 httpd-vhosts.conf 文件中的内容。请记住,example1.com 运行良好。
答案1
您需要为此站点创建两个不同的虚拟主机,并使用不同的“ServerName xxxxx”选项