【问题标题】:Disable directrory listing禁用目录列表
【发布时间】:2012-04-03 13:52:09
【问题描述】:

我在公用文件夹所在的根目录中有一个名为 import 的文件夹。在导入文件夹中,我有很多子文件夹,每个子文件夹都包含图像和 pdf 文件。当用户通过像

这样的 url 直接访问导入文件夹时
   www.mysite.com/import/subfolder/image.jpg

图像在浏览器中打开,但是当他尝试打开任何 pdf 文件时,他无法打开 pdf。

现在当他在 url 中访问以下内容时,他可以看到整个目录结构

www.mysite.com/import/subfolder

现在他只能看到上面url的子文件夹中的所有图片

 www.mysite.com/import/

有了这个,他可以看到所有导入的文件夹,好在他只能看到文件夹中的图像,而不是 pdf。

是否有可能我也以某种方式禁用了这个目录列表?

提前致谢

【问题讨论】:

    标签: php .htaccess codeigniter


    【解决方案1】:

    您可以将此行添加到 .htaccess 中:

    Options -Indexes
    

    这将禁用索引。

    【讨论】:

    • .htaccess 暗示了这一点,无论如何,这只是给任何可能不知道的人的注释 - 这仅适用于 Apache 网络服务器
    • @galymzhan OP 用.htaccess 标记了这个问题,这意味着他正在使用 apache。
    • @AleksG 有很多网络服务器支持.htaccess
    • @Death 是的,尽管大多数调用文件.htaccess 的人都是 apache 的衍生产品。
    【解决方案2】:

    要防止目录列表,请创建一个包含以下文本的 .htaccess 文件:

    IndexIgnore * 
    

    【讨论】:

      【解决方案3】:

      您可以使用Directory 中的Options -Indexes 在.htaccess 中的每个目录级别禁用目录列表,例如:

      <Directory /absolute/path/to/www.mysite.com/import/>
          ...
          Options -Indexes
          ...
      </Directory>
      

      这样您可以禁用一个目录的目录列表,但仍然允许另一个目录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-07
        • 2012-04-06
        • 1970-01-01
        • 2023-03-11
        • 2017-10-30
        • 2013-09-02
        • 2015-08-07
        相关资源
        最近更新 更多