.htaccess - 允许索引子目录但不允许根目录
问题描述
我有一个自动生成子目录的站点,并且需要在 .htaccess 下可索引
但是,我不希望有人能够进入这些子目录的根目录并查看它们。除了这些子目录之外,我也不希望其他任何东西都是可索引的。
例如
/ ~ 有“
Options -Indexes
”(不可转位)/foo/ ~ 有“
Options -Indexes
”(不可索引)/foo/bar/ ~ 有“
Options +Indexes
”(可索引)/foo/baz/ ~ 有“
Options +Indexes
”(可索引)
我不可能为每个子目录单独生成一个单独的 .htaccess 文件,我使用的系统不支持它。
解决方案
我假设没有其他方法可以解决这个问题(可能不使用 Apache 配置),所以我只是允许递归地索引(即来自 /foo),然后在 /foo 的 .htaccess 文件中:
Options +Indexes
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/foo[/]?$
RewriteRule (.*) / [R=301,L]
只是将人们重定向到主页。还要在那里放置一个元刷新重定向以防万一。
推荐阅读
- excel - 循环遍历一个工作表中的每一行并复制到另一个工作表的命名范围
- serial-port - 串行通信规范模式非阻塞NL检测
- java - 将 Flyway 从 5.1 升级到 5.2 后,出现 SPRING_JDBC 类型的迁移类型不匹配错误
- java - java安全策略不按预期工作,总是给AccessControlException
- javascript - 无需重新加载即可更改页面的好习惯
- javascript - 使用 fetch-mock 测试 React Redux 异步操作 - “无法读取未定义的属性 'then'”
- css - 固定位置 div 中的垂直对齐
- git - 在 GitHub 上分叉现有 pod 并在 Swift 工作区中使用 fork - 步骤?
- batch-file - 将 CMD 日志保存到文件
- reactjs - 如何使用表单中的数据从 api 获取数据?