http://localhost 不起作用,http://127.0.0.1 起作用

http://localhost 不起作用,http://127.0.0.1 起作用

我正在使用 Apache 运行 Zend,发现了一种奇怪的行为......

如果我输入http://127.0.0.1在我的浏览器网址中,它运行正常,但输入以下内容后:http://本地主机,我将得到一个文件下载窗口,显示文件类型为:application/x-httpd-php

在我的 httpd.conf 文件中,在 VirtualHost *:80 定义下有以下内容:

ServerName localhost

DocumentRoot E:\zend\Apache2\htdocs\my_project\public

Directory E:\zend\Apache2\htdocs\my_project\public

也许存在一些配置问题...有人可以指导我吗..

答案1

来自 httpd.conf 文件:

NOTE: Where filenames are specified, you must use forward slashes instead of backslashes (e.g., "c:/apache" instead of "c:\apache"). If a drive letter is omitted, the drive on which Apache.exe is located will be used by default. It is recommended that you always supply an explicit drive letter in absolute paths to avoid confusion.

因此改变

DocumentRoot E:\zend\Apache2\htdocs\my_project\public

DocumentRoot "e:/zend/Apache2/htdocs/my_project/public"

Directory E:\zend\Apache2\htdocs\my_project\public是配置文件的一部分,其中允许和/或禁用该目录中的服务和功能,因此它必须像这样:

<Directory "e:/zend/Apache2/htdocs/my_project/public"> some options </Directory>

如果您将 httpd.conf 发布到这里,或者将其上传到某个地方并发布该文件的链接,那么指出错误会更容易

答案2

检查您的主机文件,通常在以下位置:

C:\windows\system32\drivers\etc

确保 localhost 有这样的条目:

127.0.0.1 localhost

坦率地说,我无法立即明白为什么缺少这样的条目会产生您报告的结果 - 类型的下载application/x-httpd-php- 但是当某些东西不起作用时,最好总是把所有的 i 都点上,把所有的 t 都划上。;-)

相关内容