虚拟主机无法在 MAMP 上运行
Posted
技术标签:
【中文标题】虚拟主机无法在 MAMP 上运行【英文标题】:Virtual hosts not working on MAMP 【发布时间】:2015-05-07 07:01:04 【问题描述】:我在 MAMP 上遇到了虚拟主机设置问题。这是我的虚拟主机配置
NameVirtualHost *
<VirtualHost *>
ServerName dev.local.com
DocumentRoot “/Applications/MAMP/htdocs/local”
</VirtualHost>
<VirtualHost *>
DocumentRoot /Applications/MAMP/htdocs
ServerName localhost
</VirtualHost>
这是我的主机文件
127.0.0.1 localhost
127.0.0.1 dev.local.com
现在访问 localhost 和 dev.local.com 时都指向本地目录的索引。我在 vhosts 文件中尝试了各种配置设置,但没有一个有效。我使用的是 MacBook Pro 10.10
【问题讨论】:
【参考方案1】:我没有发现任何有用的答案,所以如果其他建议对您不起作用:
考虑到虚拟主机需要通过取消注释来正确启用/包含
Include conf/extra/httpd-vhosts.conf
在 C:\MAMP\conf\apache\httpd.conf 和 NOT 在 C:\MAMP\bin\apache\conf 或 C:\ MAMP\bin\apache\conf\original.
有多个位置具有 MAMP 配置,请确保在正确定位的文件中取消注释该行。
【讨论】:
MAMP 升级后,确实在/Applications/MAMP/conf/apache/httpd.conf
中注释了该行。【参考方案2】:
当我第一次测试虚拟主机 (example.dev) 时,我添加了两个稍微不同的 index.php 文件,它的目录和 localhost 目录 (/htdocs)。我的虚拟主机会重定向到 locahost,我会知道,因为 index.php 将是 /htdocs 中的那个。与user6166所说的类似,我更改了下面的代码以匹配8888,它工作了!我测试了 example.dev:8888,它可以工作。
NameVirtualHost *:8888
<VirtualHost *:8888>
ServerName dev.local.com
DocumentRoot /Applications/MAMP/htdocs/local
ServerAlias dev.local.com
</VirtualHost>
<VirtualHost *:8888>
DocumentRoot /Applications/MAMP/htdocs
ServerName localhost
</VirtualHost>
然后删除上面的 8888 更改回 80 和 MAMP 首选项:
Apache Port:80
nginx Port:8888
mysql Port:3306
然后在httpd.conf里面改成80:
Listen 8888
ServerName localhost:8888
希望对某人有所帮助,它确实解决了我的问题!
【讨论】:
这实际上对我有用。应该是正确答案。【参考方案3】:像这样更改了主机文件 -
NameVirtualHost *:80
<VirtualHost *:80>
ServerName dev.local.com
DocumentRoot /Applications/MAMP/htdocs/local
ServerAlias dev.local.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /Applications/MAMP/htdocs
ServerName localhost
</VirtualHost>
【讨论】:
对于仍在寻找的人。根据this link,您还可以尝试清除 DNS 缓存:sudo killall -HUP mDNSResponder return
@user6166 你能看看我的问题吗? ***.com/questions/52510110/virtual-host-with-mamp我在使用 Vhost 创建时遇到问题。【参考方案4】:
在正确的httpd.conf中启用虚拟主机 打开 MAMP > 文件 > 编辑模板 > Apache > httpd.conf
编辑或添加:
# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
edit mamp httpd.conf
【讨论】:
【参考方案5】:我在使用 MAMP Pro 5 时遇到了类似的问题(从版本 4 更新后)。我的一个自定义主机 带有别名 返回了 404 NOT FOUND 错误。
经过长时间的故障排除后,请确保将域添加到别名列表中。
MAMP 4
主持人:
test.co
别名:
sub.test.co
在 MAMP 5 中出现:
主持人:
test.co
别名:
sub.test.co
test.co
希望他们能解决这个问题并帮助某人!
【讨论】:
【参考方案6】:尝试通过这种方式配置 MAMP 端口:
-
MAMP
首选项
端口
Apache 端口:80
Nginx 端口:8888
我有相同的端口值,配置后它开始工作。
【讨论】:
【参考方案7】:我不是 apache 专家。但我有同样的问题。我认为我的 DNS 无法解析我的 URL。
当我ping exampl.dev
一切看起来都很好,但是当我在浏览器中输入 example.dev 时出现错误。我总是必须在 url 前面添加 http://。
【讨论】:
【参考方案8】:打开主要的 Apache 配置文件,httpd.conf,它位于
应用程序/MAMP/conf/apache/httpd.conf
并从以 Include 开头的行的开头删除井号(井号):
虚拟主机
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
【讨论】:
以上是关于虚拟主机无法在 MAMP 上运行的主要内容,如果未能解决你的问题,请参考以下文章
没有 MAMP 的 Mac 上虚拟主机上的 CodeIgniter 站点
在 MAMP 上使用虚拟主机映射 Laravel 公用文件夹时遇到问题