0

我的 sv 上有一个 IP 地址,我想在一个 Apache 服务器上设置两个域和另一个 DocumentRoot。这是我在 httpd-vhosts.conf 中得到的

<VirtualHost *:80>
    DocumentRoot "C:\wamp\www\mail"
    ServerName mail.A.pl
</VirtualHost>

<VirtualHost *:80>
    ServerName B.eu
    DocumentRoot "c:\wamp\www\B"
</VirtualHost>

<VirtualHost *:80>
    ServerName A.pl
    DocumentRoot "c:\wamp\www"
</VirtualHost>

即使我尝试加载 page: http://www.A.plor www.B.euor B.euorA.pl它也会加载mail.A.pl. 我究竟做错了什么?

已编辑

这是新的 httpd-vhost,现在它加载了正确的页面,但是 A.pl 的 fe 不显示任何图像,并且在 mail.A.pl 上不想发送 POST 数据:

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:\wamp\www\mail"
ServerAlias mail.A.pl
    ServerName mail.A.pl
</VirtualHost>
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName B.eu
    ServerAlias *.B.eu
    DocumentRoot "c:\wamp\www\B"
</VirtualHost>
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName A.pl
    ServerAlias A.pl
    DocumentRoot "c:\wamp\www"
</VirtualHost>

EDIT2 谢谢你们的帮助。

我刚刚用最后一个切换了第一个 VirtualHost,它开始工作了:O

4

2 回答 2

1

我认为你需要一些东西。

1) 取消注释 Apache 配置文件中的 Virtual hosts 行,使其包含httpd-vhosts.conf. 在 OSX 上是:

# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

2)将必要的行放入您的主机文件(http://en.wikipedia.org/wiki/Hosts_(file ) ):

127.0.0.1 mail.A.pl
127.0.0.1 A.pl
127.0.0.1 B.pl
127.0.0.1 every.A.pl
127.0.0.1 subdomain.A.pl
127.0.0.1 needs-a-line.A.pl

ServerAlias实际上,您不需要子域,只需要类似的“主”域。

你的httpd-vhosts.conf文件没问题。

为什么图像和帖子不起作用我不知道。这与这个主机文件没有任何关系。也许与另一个.htaccess文件。

于 2012-12-20T18:28:10.110 回答
1

您需要映射NameVirtualHost到 IP 地址 127.0.0.1 以映射多个虚拟主机。

例如:

NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    ServerName localhost
    DocumentRoot 'C:\wamp\www'
</VirtualHost>
<VirtualHost 127.0.0.1>
    ServerName myclient.local
    DocumentRoot 'C:\wamp\www\ClientsMyClient'
</VirtualHost>

看看这个教程

于 2012-12-20T17:29:26.400 回答