我的网站有一个 IP。他们为我在 DNS 服务器中设置了 tww 记录:www.mydomain.com --> admin.mydomain.com -->
我的apache httpd.conf内容如下:
...
ServerName www.mydomain.com:80
DocumentRoot "/home/somewhere/www"
NameVirtualHost <IP A>:80
<VirtualHost <IP A> >
ServerAdmin webmaster@mydomain
DocumentRoot /home/somewhere/www/admin
ServerName admin.mydomain.com
</VirtualHost>
现在,如果我输入www.mydomain.com
或,admin.mydomain.com
我将获得相同的页面,即主服务器。nslookup 命令显示www.mydomain.com
和都admin.mydomain.com
指向 IP A。有什么帮助吗?
答案1
你可以尝试使用两个不同的 VHost 进行类似的操作:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/usr/local/docs/www"
ServerName www.mydomain.com
ServerAlias mydomain.com
ErrorLog "/var/log/www-error_log"
CustomLog "/var/log/www-access_log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/usr/local/docs/admin"
ServerName admin.mydomain.com
ErrorLog "/var/log/admin-error_log"
CustomLog "/var/log/admin-access_log" common
</VirtualHost>
答案2
“apachectl -S” 的输出是什么?当我需要调试 VirtualHosts 时,这是我使用的第一个命令。它告诉我配置在 Apache 中是什么样的。
我通常为每个主机使用一个 VirtualHost,并让主站点(非虚拟)转到一个页面,上面写着“如果您看到此内容,则表示出现了问题。”
<VirtualHost *:80>
ServerName mydomain.com
ServerAlias www.mydomain.com
...
...
</VirtualHost>
<VirtualHost *:80>
ServerName admin.mydomain.com
...
...
</VirtualHost>