Apache VirtualHosts 不起作用

Apache VirtualHosts 不起作用

我的网站有一个 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>

相关内容