首页 > 解决方案 > 允许索引子目录但不允许根目录

问题描述

我有一个自动生成子目录的站点,并且需要在 .htaccess 下可索引

但是,我不希望有人能够进入这些子目录的根目录并查看它们。除了这些子目录之外,我也不希望其他任何东西都是可索引的。

例如

/ ~ 有“ Options -Indexes”(不可转位)

/foo/ ~ 有“ Options -Indexes”(不可索引)

/foo/bar/ ~ 有“ Options +Indexes”(可索引)

/foo/baz/ ~ 有“ Options +Indexes”(可索引)

我不可能为每个子目录单独生成一个单独的 .htaccess 文件,我使用的系统不支持它。

标签: .htaccessweb-hosting

解决方案


我假设没有其他方法可以解决这个问题(可能不使用 Apache 配置),所以我只是允许递归地索引(即来自 /foo),然后在 /foo 的 .htaccess 文件中:

Options +Indexes
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/foo[/]?$
RewriteRule (.*) / [R=301,L]

只是将人们重定向到主页。还要在那里放置一个元刷新重定向以防万一。


推荐阅读