首页 文章

拒绝使用.htaccess访问多个.php文件? [重复]

提问于
浏览
9

这个问题在这里已有答案:

我想拒绝访问目录 /all/cstl/ 中的多个PHP文件 .

我的.htaccess也存储在这个目录中 .

这是我目前的代码,它不起作用 .

<Files "\ (config.php|function.php|include.php)">
  Order allow,deny
  Deny from all
</Files>

我试图拒绝该目录并允许特定文件,但它拒绝该目录,并且不允许所请求的.php文件 . 我的代码是:

<Directory />
    Order deny,allow
    Deny from all
<Directory>

<Files "index.php|post.php">
    Order deny,allow
    Deny from all
</Files>

请给我一些阻止访问目录中多个特定文件的示例 .

1 回答

  • 28

    你在那里的.htaccess有几个问题 .

    正如上面评论中链接的BSen,您应该使用FilesMatch . 另外,你的正则表达式是错误的 .

    正则表达式的问题在于您在开始时有一个转义空间,因此所有文件必须以空格字符开头(后跟config.php,function.php等之一)

    还有一个小的解释,允许,拒绝指令:http://www.maxi-pedia.com/Order+allow+deny

    试试这个:

    <FilesMatch "config\.php|function\.php|include\.php">
      Order allow,deny
      Deny from all
    </FilesMatch>
    

    如果您想拒绝除少数几个文件以外的所有文件,则会将其视为

    Order deny,allow
    Deny from all
    <FilesMatch "index\.php|index\.html">
      Allow from all
    </FilesMatch>
    

相关问题