Apache 列出目录文件而不是 index.php

Posted

技术标签:

【中文标题】Apache 列出目录文件而不是 index.php【英文标题】:Apache lists directory files instead of index.php 【发布时间】:2012-12-03 14:49:36 【问题描述】:

我的 Apache Web 服务器突然自动停止提供 index.php 文件。它改为显示目录列表。我尝试了帮助,但没有运气。

我的 htttpd.conf 文件包括

<IfModule module_php5>
    AddType application/x-httpd-php .php
</IfMOdule>

DirectoryIndex index.php index.html

如果以上都OK,会有什么问题?

【问题讨论】:

请注意,标签是独立的。也就是说,结合directoryindexdirectoryindex 的含义不同。请谨慎选择标签。 如果你明确要求index.php怎么办? @Charles,我特别想分别标记目录和索引。但感谢您编辑代码。 @zerkms 浏览器在显式输入时显示 index.php。 我是这个网站的新手。我以前读过帖子,但直到最近才拥有帐户。所以我不知道问问题的任何常见做法,但会随着时间的推移而学习。我能问一下你为什么从我的问题@Charles 的末尾删除“提前致谢”吗? 【参考方案1】:

当我第一次提出问题时,我对快速响应感到惊讶,然后回复停止了!所以我自己找到了答案(偶然!)。主服务器根目录显示索引文件正常,但我的用户站点文件夹没有。

apache 用户目录中的每个用户都有一个 .conf 文件。我加了

<Directory "/Users/mavili/Sites/">
    Options Indexes MultiViews FollowSymLinks SymLinksIfOwnerMatch Includes ExecCGI
    DirectoryIndex index.php index.html index.pl index.cgi
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

到我的用户名和 tata 的文件中,它起作用了!

【讨论】:

以上是关于Apache 列出目录文件而不是 index.php的主要内容,如果未能解决你的问题,请参考以下文章

linux下安装了apache,如何设置默认首页文档?

apache 目录遍历漏洞复现

如何列出linux的文件目录和所有的文件

Linux列出当前目录下的文件和目录用啥命令

为什么apache在系统根目录而不是项目目录上找到文件,出现FileNotFound之类的错误

常用linux命令