虚拟主机无法在 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.confC:\MAMP\conf\apache\httpd.confNOT 在 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 公用文件夹时遇到问题

MAMP 本地主机不工作

无法让 MAMP 与虚拟主机一起使用

本地主机 MAMP 与共享数据库:错误 - “无法访问此站点”

使用 MAMP 设置虚拟主机无法正常工作