这可能已经被问过了,但我找不到直接的答案,或者我发现的那些不起作用。
我有一个域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日志文件不存在或不可写时,我还发现存在此问题。