我长期在 MacBook Pro 上使用 MAMP 进行网页设计。然而,最近我遇到了一些我无法弄清楚的奇怪错误,所以我刚刚从 OS El Capitan 升级到 Sierra。我同时升级到了最新的 MAMP。
但是,我现在无法让 MAMP 工作。我决定尝试在没有 MAMP 的情况下进行设置。最终,我想将我的网站迁移到传统的“sites”文件夹。所以我在 user/Sites/g1/index.php 创建了一个新网站。
这是我在 httpd-vhosts.conf 中所拥有的:
<VirtualHost *:80>
ServerName g1
DocumentRoot "/Applications/MAMP/htdocs"
<Directory "/Applications/MAMP/htdoc/g1/index.php">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
# ErrorLog "logs/mysite.local-error_log"
</VirtualHost>
我也尝试用这个来代替:
<VirtualHost *:80>
ServerName g1
DocumentRoot "/Users/[My Username]/Sites"
<Directory "/Users/[My Username]/Sites/g1/index.php">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
# ErrorLog "logs/mysite.local-error_log"
</VirtualHost>
我对 Apache 错误日志一无所知,所以我只是注释掉了那行。
我使用 Google 寻求帮助,并发现有讨论建议我在 httpd.conf 中添加以下行,所以我这样做了:
服务器名称 local_server:80
我没有修改/etc/hosts文件,它看起来像这样:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
我应该提到,我没有卸载 MAMP,尽管它没有运行。我确实打开了它,看看在我做了所有更改之后它是否能工作,但它仍然不起作用。但当我导航到http://本地主机,我得到一个 MAMP 页面,显示“虚拟主机已正确设置。”
实际上,通过我最近的更改 - 并且关闭了 MAMP - http://本地主机现在显示目录 @ username/Sites/g1。我可以在http://127.0.0.1。
如果我输入http://本地主机:80,默认为http://本地主机。http://本地主机:8888不起作用(除非 MAMP 正在运行)。
在 httpd.conf 文件中,我将 AllowOverride None 更改为 AllowOverride All,然后重新启动 Apache。但是,什么都没有改变,所以我又改回来了。
我在 Sites > g1 > index.php 中添加了一个页面。我发现我可以通过以下方式访问它:http://localhost/~[我的用户名]/但如果我将 URL 更改为http://g1,它仍然默认为http://webhelper.centurylink.com/index.php?origURL=http%3A//g1/&r=&bc=
当我在终端中输入 apachectl configtest 时,它只显示“语法正常”。因此,我怀疑我只需要在这里或那里进行一点调整。
另一方面,我发现一些网页暗示 webhelper 是某种骗局。所以我运行了 Malwarebytes Anti-Malware,但没有发现任何问题。
在我花更多时间解决这个棘手的问题之前,有人能发现我上面发布的代码中存在一个具体问题吗?
PS 这是这次讨论,这是我在升级到 OS Sierra 和当前 MAMP PRO 版本之前开始的。
编辑:
我刚刚在“网站”文件夹中创建了第二个文件夹,名为 g2。现在我可以同时查看两个网站http://localhost/~[我的用户名]/g1/和http://localhost/~[我的用户名]/g2/
但是当我用原始文件夹替换临时文件夹 g1 时,它又恢复默认为 https。我创建了一个名为 z 的临时文件夹 - 只是一个包含单个 index.php 页面和一行纯文本的文件夹。它也默认为 https。
所以我显然遇到了升级到 Sierra 之前遇到的相同问题。
答案1
如果浏览器劫持程序将您对名为 g1 的机器的请求解释为在 centurylink 上搜索 g1,则听起来您安装了某种浏览器劫持程序。检查您的扩展程序和已安装的搜索引擎(这些位于您的浏览器设置中),删除任何您不认识的内容,检查系统首选项->网络,并确保您的 DNS 服务器设置为合理的设置(您不应该使用 Centurylink,例如,尝试使用 Google 的 8.8.8.8,还有许多其他非常好的选项,您可能应该从您的 ISP 那里选择合理的设置。)您可能需要查看免费的恶意软件扫描程序(例如,malwarebytes)。