本地主机上的 Apache 虚拟主机
Posted
技术标签:
【中文标题】本地主机上的 Apache 虚拟主机【英文标题】:Apache vhosts on localhost 【发布时间】:2011-05-13 21:03:19 【问题描述】:我设法在我的本地机器上设置了虚拟热点,但我现在有点碰壁了。
通常,当您在浏览器中键入 localhost/ 时,您会看到您应该看到的内容。但是在我设置了我的虚拟主机之后,我输入的任何东西都会进入虚拟主机。我想不出办法将虚拟主机和旧功能结合在一起。
这是我的 vhost 文件(顺便说一句,我正在使用 xampplite)
<VirtualHost domain.eu>
ServerName domain.eu
DocumentRoot /www/domain
ServerAlias *.domain.eu
</VirtualHost>
<VirtualHost domain.sk>
ServerName domain.sk
DocumentRoot /www/domain
</VirtualHost>
第二个通过 htaccess 重定向到 sk.domain.eu。当我将这 3 行添加到虚拟主机时,本地主机开始工作,但即使是其他虚拟主机也会转到 /www/
<VirtualHost localhost>
DocumentRoot /www
</VirtualHost>
但是每次我需要 localhost 时评论/取消评论这 3 行是愚蠢的。有什么建议可以让他们一起工作吗?
感谢您的宝贵时间
【问题讨论】:
【参考方案1】:您真的不应该在 VirtualHost 声明中使用域名。
如果这三个虚拟主机的 IP 地址不同,你应该将它们各自的 IP 地址放入 VirtualHost 块中,并且永远不要提及 NameVirtualHost。
如果它们使用相同的 IP 地址,则您必须使用 NameVirtualHost,然后您必须在每个虚拟主机中使用与 NameVirtualHost 声明中相同的拼写重复名称。
【讨论】:
【参考方案2】:尝试在VirtualHost
容器之前添加这个:
NameVirtualHost localhost
NameVirtualHost domain.sk
NameVirtualHost domain.eu
【讨论】:
以上是关于本地主机上的 Apache 虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章
Apache mod_rewrite:仅当不在本地主机中时才强制 www