本地虚拟主机指向同一个目录
Posted
技术标签:
【中文标题】本地虚拟主机指向同一个目录【英文标题】:Local virtual hosts pointing to the same directory 【发布时间】:2014-02-28 17:56:27 【问题描述】:我一直迷失在有关此问题的论坛帖子中。
1) 我安装了 MAMP(不是 Pro)
2) 我的 Apache 端口设置为 8888
3) 我的文档根在首选项设置为 /Users/usr/Sites
我想设置多个本地子域,即
private/etc/hosts
127.0.0.1 local1.sitename.com
127.0.0.1 local2.sitename.com
127.0.0.1 local3.sitename.com
不,这就是问题所在。在 httpd-vhosts.conf 我尝试设置以下内容:
<VirtualHost *:80>
ServerAdmin admin@si1tename.com
DocumentRoot "/Users/usr/Sites/Site1Name“
ServerName local1.sitename.com
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@site2name.com
DocumentRoot "/Users/usr/Sites/Site2Name“
ServerName local2.sitename.com
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@site3name.com
DocumentRoot "/Users/usr/Sites/Site3Name“
ServerName local3.sitename.com
</VirtualHost>
etc.
出于某种原因,所有这些子域都指向同一个 localhost:8888 文档根目录。我做错了什么?
谢谢
【问题讨论】:
您在第二个虚拟主机中复制了ServerName
。
对不起,我没有。这只是一个复制/粘贴错字。这和8888端口有关系吗?
端口正常。你在日志中有一些警告吗?尝试在serverfault.com 提出此类问题
apache的错误日志,或查看apachectl configtest
这就是我得到的全部信息:Syntax OK
。顺便说一句,我已将端口更改为 80。将编辑我的问题。
【参考方案1】:
我通过简单地为我的虚拟主机键入如下指令以某种方式解决了这个问题“
<VirtualHost *:80>
DocumentRoot /Users/usr/Sites/Site2Name/
ServerName local.Site2Name
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /Users/usr/Sites/Site3Name/
ServerName local.Site3Name
</VirtualHost>
不要让我解释为什么这可以解决问题。如果有人知道答案,请告诉我。
【讨论】:
我总是遇到 Apache 的这个问题。没有反馈或调试方法。我明白为什么 nginx 已经接管了以上是关于本地虚拟主机指向同一个目录的主要内容,如果未能解决你的问题,请参考以下文章