1

我在运行 apache 2 的 centos 服务器上设置了 2 个虚拟主机,它们共享相同的 IP。

#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www/a
    ServerName www.a.com
    ServerAlias a.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www/b
    ServerName www.b.com
    ServerAlias b.com
</VirtualHost>

无论我指向哪个 URL。站点 A 出现。

我该如何解决?我应该有 a.com 去 a 和 b.com 去 b。

谢谢大家

4

3 回答 3

6

您的 httpd.conf 中是否设置了以下内容?

NameVirtualHost *

文档中的一个示例:

NameVirtualHost *

<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain
</VirtualHost>

<VirtualHost *>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
于 2009-03-25T23:16:36.427 回答
2

确保你也有这个指令

名称虚拟主机 *

它可能正在显示站点 A,因为它被设置为默认文档根目录。检查您的全局设置,确保文档根目录未设置为与站点 A 相同的根目录。

于 2009-03-25T23:18:17.750 回答
2

我一直将域声明为名称..从来没有问题。

NameVirtualHost localhost:80

<VirtualHost localhost:80>
DocumentRoot "/home/eddie/workspace/"
</VirtualHost>

<VirtualHost digbiz.localhost:80>
DocumentRoot "/home/eddie/workspace/Digital_Business/app/webroot"
</VirtualHost>

<VirtualHost wishlist.localhost:80>
DocumentRoot "/home/eddie/workspace/WishList/app/webroot"
</VirtualHost>

<VirtualHost phpmyadmin.localhost:80>
DocumentRoot "/srv/www/phpMyAdmin"
</VirtualHost>


<VirtualHost test.localhost:80>
DocumentRoot "/home/eddie/workspace/CakePHPTesting/app/webroot"
</VirtualHost>

<VirtualHost auth.localhost:80>
DocumentRoot "/home/eddie/workspace/EntMeetCapt/app/webroot"
</VirtualHost>
于 2009-03-25T23:36:11.543 回答