使隐藏不禁用除pdf文件(包含在该文件夹中)之外的所有文件夹和.tmp文件

时间:2013-12-02 18:26:24

标签: regex apache .htaccess mod-rewrite

如何使隐藏不禁用所有子文件夹和.tmp文件(如下)并仅向用户显示.pdf文件, 我的目录结构由动态创建(阻止我在.htaccess中编辑新文件夹名称)子文件夹组成:

Parent->
  Child1->
  Child1.tmp,Child1.pdf

  Child2->
  Child2.tmp,Child2.pdf

  and so on...

正如您在上面看到的,禁用文件夹会导致访问被拒绝到pdf文件。 因此,当用户创建名为F1的文件夹并上传pdf文件时,将创建一个名为F1的新子文件夹,其中包含与pdf同名的pdf文件+ .tmp文件,当任何用户想要搜索并下载该公共pdf文件时,应该只看到(并且只能访问).pdf文件而不是它所在的文件夹而不是tmp。 这样做有什么安全方式(特别是使用.htaccess)。??

1 个答案:

答案 0 :(得分:1)

您可以在DOCUMENT_ROOT/my_project/i/.htaccess文件中使用此规则:

RewriteEngine On
RewriteBase /my_project/i/

RewriteRule ^([^/]+)(?:/.+?\.tmp|/)$ - [F,NC]

请务必将此作为您的第一条规则。