【问题标题】:MAMP Virtual Hosts not working properly, loading 'It Works!' pageMAMP 虚拟主机无法正常工作,正在加载“它可以工作!”页
【发布时间】:2017-12-10 08:16:11
【问题描述】:

昨晚我遇到了一个问题,MAMP 拒绝连接到 Apache 服务器(不确定这是否与我的问题有关)。我决定卸载并重新安装。但是,当我将虚拟主机添加到 MAMP 文件夹中的 httpd-vhosts.conf 文件并导航到它时,我能够再次连接,我得到一个“它可以工作!”页。 (我还意识到即使没有运行 MAMP,我也可以通过输入 localhost 来获得此页面?)

以下是我的一些文件

httpd.conf(在 MAMP 中)

//Uncommented line below
# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

httpd.conf(在 MAMP 中)

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName portfolio
    DocumentRoot '/Applications/MAMP/htdocs/portfolio'
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot '/Applications/MAMP/htdocs'
    ServerName localhost
</VirtualHost>

/private/etc/hosts

##
# Host Database
# localhost is used to configure the lookback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost
127.0.0.1       portfolio

这是我之前 100% 工作的复制粘贴,不确定 MAMP 停止工作、卸载和重新安装之间发生了什么。 apache以某种方式覆盖某些东西有问题吗?这个问题真的超出了我的深度。还有其他地方我应该寻找调试吗?

作为参考,localhost:8888 & localhost:8888/portfolio 按预期工作,localhost/ & portfolio/ 不要,将我带到“它有效!”页。在此问题之前,我能够执行 'localhost/phpmyadmin' 将我带到 phpmyadmin 和 'localhost/portfolio' 将我带到该目录,但这些都不起作用。我已经为此绞尽脑汁了好几个小时,看教程和阅读其他答案,但无济于事。

有人知道为什么会这样吗?任何帮助将不胜感激。

【问题讨论】:

  • 你的 Apache 版本是多少?在 2.3.11 之前你只需要 NameVirtualHost (尽管它不会受到伤害)。另外,httpd -t -D DUMP_VHOSTS 的输出是什么?
  • @ÁlvaroGonzález Apache/2.4.18 输出是VirtualHost configuration:,我的值是空白。
  • 是否有可能您没有编辑正确的文件,或者您没有使用适当的权限 (sudo ...) 并且操作系统让您认为您成功编写了? (Windows 可以做到这一点,不确定 MacOS。)
  • @ÁlvaroGonzález 我几乎 100% 确定我已经重新创建了与以前完全相同的步骤。我正在编辑/Applications/MAMP/conf/apache 目录中的文件。 /private/etc/apache2 是否有可能以某种方式覆盖 MAMP 配置?
  • httpd -t -D DUMP_INCLUDES 显示已解析的文件(但确定是否正在使用设置文件的一种简单方法是故意犯语法错误)。不幸的是,我从未使用过 Mac,而且我对第三方 Apache 捆绑包也不是很熟悉,所以我没有什么可以推荐的。

标签: apache localhost apache2 mamp virtualhost


【解决方案1】:

所以我最终弄清楚是否其他人也有同样的问题。我之前忘记了我的 localhost 在端口 80 上运行。但是,当我在我的 apache 服务器无法在 MAMP 上启动之前尝试这样做时,原因是 /private/etc/apache2 使用了端口 80,所以我使用了答案这个问题

https://superuser.com/questions/986775/how-can-i-remove-apache2-that-i-have-installed-in-mac-os-x

删除阿帕奇。 (或者,我猜您可以只更改它在 httpd.conf 文件中侦听的端口号?)然后我将 MAMP 更改为侦听端口 80,这解决了我的问题。希望这可以帮助其他有同样问题的人

【讨论】:

  • 嘿嘿...这确实是编辑错误文件的极端版本​​——它们甚至不属于同一个程序! :)
猜你喜欢
  • 2015-08-03
  • 2015-07-13
  • 2013-06-20
  • 1970-01-01
  • 2017-11-12
  • 2016-02-23
  • 2020-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多