我最近在我的系统上重新安装了 ubuntu 但无法让虚拟主机正常工作。
我想要完成的是在浏览器中输入“test”,并指向本地机器上的 /var/www/test
我已经关注了关于这个主题的几个教程,在每个教程之后,w3m test 都会按预期输出测试目录上 index.html 的内容,但是当我转到 firefox/chrome 并在地址栏中输入“测试”时,浏览器会对其进行谷歌搜索并向我显示结果。
所以我想知道我的流程是否存在问题。
到目前为止我一直在做的事情是:
- sudo apt-get 安装 lamp-server^
- sudo gedit /etc/hosts
- 将“127.0.0.1 test”附加到 hosts 文件
- 保存并退出
- sudo gedit /etc/apache2/sites-available/test
添加以下几行进行测试:
<VirtualHost *:80> ServerName test DocumentRoot /var/www/test </virtualHost>
- 保存并退出
- sudo a2ensite 测试
- 重新启动 apache(尝试 sudo service apache2 restart,重新加载,并重新启动整个系统)
有什么线索可以解释为什么 w3m 向我显示了正确的文件而浏览器却拒绝这样做?
请注意,我已多次清除 Firefox 和 Chrome 缓存。
- - - - 更新 - - - -
看起来我一开始就错误配置了我的灯服务器。
当我重新安装灯时(遗憾的是我还必须重新安装操作系统),上述过程工作正常,只需稍作修改。
在步骤 3 中,您不必将 vhost 的名称附加到 hosts 文件,而必须将其附加到以 127.0.0.1 localhost 开头的行(通常是第一行)
我不能接受任何答案,因为如果将来有人遇到同样的困难,任何答案都无法提供解决方案。
我必须搜索配置文件才能确切地知道哪里出了问题,然后我会发布它。
答案1
您在通过 进行 DNS 解析时可能会遇到小问题/etc/hosts
。
由于您已将文件附加127.0.0.1 test
到 /etc/hosts,DNS 解析器将有两个条目引用同一个 DNS 名称,即 test 和 localhost。修复此问题可能有两个方向。
- 如果需要别名,请将 test 添加到原始 localhost 行,而不是添加新行。结果将是:
127.0.0.1 localhost localhost.localdomain test
- 如果您想要一个专用 IP 地址,请在新行上使用备用 IP 地址。幸运的是,127.0.0.0/8 全部都是环回地址,因此您可以使用该范围内的任何 IP 地址为服务创建辅助 IP 地址:
127.0.0.2 test test.localdomain
答案2
您的浏览器太聪明了,它会认为如果您在地址栏中输入一个单词,您就是在搜索,而不是浏览网站。请输入完整的 URL,例如:
http://test/
或者
http://test./