一台 Apache 服务器上的多个域(WAMP)
Posted
技术标签:
【中文标题】一台 Apache 服务器上的多个域(WAMP)【英文标题】:Multiple domains on one Apache server(WAMP) 【发布时间】:2012-12-08 06:45:43 【问题描述】:我的 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>
即使我尝试加载页面:http://www.A.pl
或 www.B.eu
或 B.eu
或 A.pl
它也会加载 mail.A.pl
。
我做错了什么?
已编辑
这是新的 httpd-vhost,现在它加载了正确的页面,但是 f.e.对于 A.pl 不显示任何图像,并且在 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
【问题讨论】:
【参考方案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
文件很好。
我不知道为什么图像和 POST 不起作用。这与这个主机文件没有任何关系。也许还有另一个.htaccess
文件。
【讨论】:
我已经取消注释了,域名也被重定向到我的服务器,我买了它们,只是将真实姓名更改为A
和B
您服务器上的其他内容可能有误。您是否还有其他 .htaccess
文件用于图像过期?我认为您需要告诉我们更多有关您的服务器配置和在其上运行的应用程序的信息。也许您只是在<form>
发布的位置打错了字?或者在您应用的<base href=""/>
中?【参考方案2】:
您需要将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>
看看这个tutorial。
【讨论】:
当我将NameVirtualHost
与我的服务器 IP 一起使用时,它可以正常工作,但其他资源(如图像)没有加载到任何这些域中以上是关于一台 Apache 服务器上的多个域(WAMP)的主要内容,如果未能解决你的问题,请参考以下文章