Dot-Htaccess

Apache 選項 - 子目錄的索引

  • September 27, 2021

如果我沒有上傳index.html ,如何防止人們查看父目錄中的文件列表?如果沒有 index.* 文件,我可以看到如何禁用文件列表。

我如何允許根目錄的文件列表,而不是任何其他子目錄?

提前致謝。

由於您標記了 question .htaccess,您可以.htaccess在 Apache 2.4 的根文件中執行以下操作:

# Default - Directory listings disabled (mod_autoindex)
Options -Indexes

# Override - Allow directory listings for the root only
<If "%{REQUEST_URI} == '/'">
   Options +Indexes
</If>

通常,子目錄將繼承您在 Apache 中應用於其父目錄的相同設置。而且,據我所知,您無法更改它,並且不存在將指令範圍限制為僅單個目錄級別的方法。

這意味著您需要:

  • 在父目錄上設置您想要的選項/指令
  • 更改/覆蓋/否定所有(目前和新的)子目錄的選項/指令。

而不是單獨為每個子目錄執行此操作,而是使用DirectoryMatch指令執行此操作是最簡單的。

在您的主要 httpd.conf (或包含)集中

<Directory "/path/to/example.com/">
 # enable directory listings
 Options +Indexes
</Directory>


<DirectoryMatch "/path/to/example.com/.*/">
 # Disable directory listings for all sub directories of /path/to/example.com/
 Options -Indexes
</Directory>

(未測試)

引用自:https://serverfault.com/questions/1078771