apache控制是否显示站点目录

加载 mod_autoindex 模块

apache 2.4版本,如果要控制站点目录是否显示,需要 mod_autoindex 模块。如果没有该模块,显示站点目录的指令无效。

加载该模块

LoadModule autoindex_module modules/mod_autoindex.so

方法一

解决过程:首先查看apache官网文档,不能快速找到需要的部分。用搜索引擎查找“apache显示站点目录”,找到相关资料,雷同。按照资料说明配置无效。
开始尝试在虚拟主机和非虚拟主机尝试资料中的配置,仍然无效。再回到官网文档查找关键词“Options Indexes”,看到“mod_autoindex can generate a listing of the directory contents”,
然后全文检索httpd.conf,意识到是因为相关模块没有加载。

虚拟主机显示站点目录

apache 2.4版本默认不显示站点目录,虚拟主机配置如下:


    ServerAdmin [email protected]
    DocumentRoot "E:\wamp64\www\my-site\test-php"
    ServerName test-php.com
    ErrorLog "logs/test-php.com-error.log"
    CustomLog "logs/test-php.com-access.log" common

加入显示站点目录的指令 Options +Indexes,完整代码如下:


    
        Options +Indexes    # 显示站点目录
    
    ServerAdmin [email protected]
    DocumentRoot "E:\wamp64\www\my-site\test-php"

    ServerName test-php.com
    ErrorLog "logs/test-php.com-error.log"
    CustomLog "logs/test-php.com-access.log" common

Options +IndexesOptions Indexes 或没有这条指令,显示站点目录。
Options -Indexes,禁止显示站点目录。

参考资料

mod_autoindex can generate a listing of the directory contents

你可能感兴趣的:(LAMP,Apache)