【发布时间】: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