WAMP 虚拟主机显示在 Chrome,但 Internet Explorer 显示 "Page can't be displayed"
WAMP virtual host displays in Chrome, but Internet Explorer says "Page can't be displayed"
我安装了 WAMP 并按照 this guide to set up virtual hosts. In both Google Chrome and Internet Explorer, http://localhost 进入 "WAMPSERVER homepage" 我的虚拟主机列在 "Your Projects."
下
在 Chome 中单击 link 到 http://mysite.local 会按预期将我带到我的站点。
在 Internet Explorer 中单击 link 会显示以下消息。
This page can’t be displayed
•Make sure the web address http://mysite.local is correct.
•Look for the page with your search engine.
•Refresh the page in a few minutes.
因为我可以在两种浏览器中看到预期的 WAMPSERVER 主页,所以我认为我的 WAMP 安装没有问题。由于我的虚拟主机在 Chrome 中工作,我认为它必须在 Apache 和我的 Windows 主机文件中正确配置。
我只是不明白为什么 Internet Explorer 不能像我期望的那样使用我的虚拟主机,而且 "Page can't be displayed" 消息没有给我任何有用的信息。
有人对我有什么建议吗?对于我可以尝试的其他指南的任何指示或 link,我将不胜感激。预先感谢您的任何回复!
有几个原因 WAMP/MAMP 可能无法在本地环境中工作,我将尝试在此处列出几个原因:
哪个httpd.conf
?
有时多个 httpd.conf 文件会导致事情变得有点滑稽。 MAMP/WAMP 通常倾向于将所有配置文件保存在 conf/
目录中,但这并不意味着正在使用其他 httpd.conf 文件...
您还可以在基于 Linux 的系统上 运行 此命令以查看正在使用的系统:
apache2ctl -V | grep SERVER_CONFIG_FILE
虚拟主机定义未包含在 httpd.conf
中
在 httpd.conf 文件中,有一行包含 vhosts 定义文件,应该取消注释:
# Virtual hosts
# Include conf/extra/httpd-vhosts.conf // remove the #
虚拟主机定义不正确
Vhosts需要定义如下:
<VirtualHost *>
DocumentRoot "C:/path/to/your/local/site"
ServerName mydomain.local
</VirtualHost>
主机文件
在 OS X/Linux 系统上,可以在 etc/hosts
中找到。编辑它以反映在下面(注意,你需要是 root)
127.0.0.1 mysite.local
在 windows 系统上,它可以在 %SystemRoot%\System32\drivers\etc\hosts
中找到。
浏览器缓存
浏览器缓存总是会导致本地 servers/development 出现问题。每次打开隐身模式或删除所有浏览器缓存都是值得的。有一些适用于大多数浏览器的插件也应该有所帮助。
其他注意事项
- 每当您编辑任何与 httpd.conf、虚拟主机、主机文件有关的内容时 - WAMP/MAMP/Apache 都需要重新启动。在进行更改之前关闭服务器是个好主意。
- 您提到在您的 one/some 文件中有一个硬编码的 link。出于这个确切的原因,通常认为这样做是不好的做法。您的代码可移植性较差,可以 'break' 在其他系统上。我建议使用 PHP 的
__FILE__
或类似的来实现你想要的。
- 或者,您可以为您的应用程序设置本地配置文件,这些文件仅在存在时包含在内。查看 this 以获得此类设置的一个很好的示例。
- 记录一切。也要定期检查日志。
我安装了 WAMP 并按照 this guide to set up virtual hosts. In both Google Chrome and Internet Explorer, http://localhost 进入 "WAMPSERVER homepage" 我的虚拟主机列在 "Your Projects."
下在 Chome 中单击 link 到 http://mysite.local 会按预期将我带到我的站点。
在 Internet Explorer 中单击 link 会显示以下消息。
This page can’t be displayed
•Make sure the web address http://mysite.local is correct.
•Look for the page with your search engine.
•Refresh the page in a few minutes.
因为我可以在两种浏览器中看到预期的 WAMPSERVER 主页,所以我认为我的 WAMP 安装没有问题。由于我的虚拟主机在 Chrome 中工作,我认为它必须在 Apache 和我的 Windows 主机文件中正确配置。
我只是不明白为什么 Internet Explorer 不能像我期望的那样使用我的虚拟主机,而且 "Page can't be displayed" 消息没有给我任何有用的信息。
有人对我有什么建议吗?对于我可以尝试的其他指南的任何指示或 link,我将不胜感激。预先感谢您的任何回复!
有几个原因 WAMP/MAMP 可能无法在本地环境中工作,我将尝试在此处列出几个原因:
哪个httpd.conf
?
有时多个 httpd.conf 文件会导致事情变得有点滑稽。 MAMP/WAMP 通常倾向于将所有配置文件保存在 conf/
目录中,但这并不意味着正在使用其他 httpd.conf 文件...
您还可以在基于 Linux 的系统上 运行 此命令以查看正在使用的系统:
apache2ctl -V | grep SERVER_CONFIG_FILE
虚拟主机定义未包含在 httpd.conf
中
在 httpd.conf 文件中,有一行包含 vhosts 定义文件,应该取消注释:
# Virtual hosts
# Include conf/extra/httpd-vhosts.conf // remove the #
虚拟主机定义不正确
Vhosts需要定义如下:
<VirtualHost *>
DocumentRoot "C:/path/to/your/local/site"
ServerName mydomain.local
</VirtualHost>
主机文件
在 OS X/Linux 系统上,可以在 etc/hosts
中找到。编辑它以反映在下面(注意,你需要是 root)
127.0.0.1 mysite.local
在 windows 系统上,它可以在 %SystemRoot%\System32\drivers\etc\hosts
中找到。
浏览器缓存
浏览器缓存总是会导致本地 servers/development 出现问题。每次打开隐身模式或删除所有浏览器缓存都是值得的。有一些适用于大多数浏览器的插件也应该有所帮助。
其他注意事项
- 每当您编辑任何与 httpd.conf、虚拟主机、主机文件有关的内容时 - WAMP/MAMP/Apache 都需要重新启动。在进行更改之前关闭服务器是个好主意。
- 您提到在您的 one/some 文件中有一个硬编码的 link。出于这个确切的原因,通常认为这样做是不好的做法。您的代码可移植性较差,可以 'break' 在其他系统上。我建议使用 PHP 的
__FILE__
或类似的来实现你想要的。- 或者,您可以为您的应用程序设置本地配置文件,这些文件仅在存在时包含在内。查看 this 以获得此类设置的一个很好的示例。
- 记录一切。也要定期检查日志。