【发布时间】:2012-11-30 01:14:56
【问题描述】:
这可能已经被问过了,但我找不到一个直接的答案,或者我找到的那些不起作用。
我有一个域名mydomain.com,解析为一个IP;我们称之为 8.8.8.8。 DNS 设置还将两个子域指向带有 A 记录的 IP 地址。它们是 dev.mydomain.com 和 staging.mydomain.com。两者都有指向 8.8.8.8 的 A 记录。
在服务器 (8.8.8.8) 上,我有两个虚拟主机文件。它们如下:
staging.mydomain.com.conf
<VirtualHost *:80>
ServerName staging.mydomain.com
DocumentRoot /var/www/html/mydomain.com/staging/
</VirtualHost>
还有……
dev.mydomain.com.conf
<VirtualHost *:80>
ServerName dev.mydomain.com
DocumentRoot /var/www/html/mydomain.com/dev/
</VirtualHost>
问题是:
无论我访问 http://staging.mydomain.com 还是 http://dev.mydomain.com,我总是登陆 staging.mydomain.com(Apache 提供这些服务文件)。
我已经重新启动了 Apache 甚至服务器。如果我更改 .conf 文件的顺序以使 dev 排在第一位,我总是会看到这一点。任何建议将不胜感激。谢谢!
更新
我发现自己又回到了这个问题上!如果你知道你的语法是正确的,你可能有一个错误的符号链接。删除它并重新创建,中间重新启动 apache。我只是这样做了,它解决了几个小时令人头疼的问题。在CentOS 上,您可以使用httpd -S 检查您的可用虚拟主机
更新 2
当虚拟主机的 apache log 文件不存在或不可写时,我也发现存在此问题。
【问题讨论】:
-
我已经投票重新提出这个问题,因为问题和答案都有帮助。除此之外,关于 Apache 的问题在 StackOverflow 上并不是题外话,ServerFault 仅用于专业设置。