如何正确限制通过htaccess访问某些文件夹?

我有这样的直接结构:

- www - folder1 - folder2 - folder21 - folder22 - folder23 

我允许所有的图像文件被访问

 <FilesMatch \.(?i:gif|jpe?g|png)$> Order Deny,Allow Allow from all </FilesMatch> 

我允许访问某个文件夹中的所有文件

 <FilesMatch /folder2/folder22/.*> Order Deny,Allow Allow from all </FilesMatch> 

我允许访问所有robots.txt文件

 <FilesMatch (robots\.txt)$> Order Deny,Allow Allow from all </FilesMatch> 

最后我加了密码限制

 AuthType Basic AuthName "Personal use" AuthUserFile /full/path/to/.htpasswd Require valid-user 

但是当我尝试通过浏览器访问任何图像文件时,我得到密码提示。 任何人都可以解释如何解决这个问题,可能是什么问题。 谢谢。

Order Deny,Allow表示deny规则在allow规则之前被处理。 因此,您将收到密码提示。

对于任何您想允许访问的文件夹和文件types,只需将下面的configuration文件放入.htaccess

 <FilesMatch "\.(gif|jpe?g|png)$"> Order Allow,Deny Allow from all Satisfy Any </FilesMatch> 

您只需将satisfy Any指令添加到每个FilesMatch块。

 <FilesMatch \.(?i:gif|jpe?g|png)$> Order Deny,Allow Allow from all Satisfy Any </FilesMatch>