.htaccess密码保护目录,但允许图像文件类型


.htaccess password protect directory but allow image file types

我需要用.htaccess密码保护目录,我已经成功地做到了。但是网站的前端被编程为链接到这个密码保护目录下的图像(不是我写的),但是当一个网页试图访问这些图像时,它会提示用户登录。

是否有可能密码保护该目录,但允许访问任何图像文件类型,如*.jpg和*.gif?

我当前的。htaccess代码是这样的:

AuthName "Secure Area"
AuthUserFile "/home/siteuser/.htpasswds/public_html/admin/passwd"
AuthType Basic
require valid-user

谢谢你的帮助!

AuthName "Secure Area"
AuthUserFile "/home/siteuser/.htpasswds/public_html/admin/passwd"
AuthType Basic
require valid-user
<FilesMatch "'.(png|jpe?g|gif)$">
  Satisfy Any
  Allow from all
</FilesMatch>

编辑合并Shef的改进

您可以在以下站点检查.htaccess提供的配置的所有不同选项:

你试过把它放在Filematch里面吗?

<FilesMatch "^.*(png|jpe?g|gif)$">
AuthName "Secure Area"
AuthUserFile "/home/siteuser/.htpasswds/public_html/admin/passwd"
AuthType Basic
require valid-user
</FilesMatch>

您可以尝试编写一个图像显示代理:

  • 保留当前目录,并设置密码保护。
  • 在链接图片的网站根目录的。htaccess上,为你想要的图片类型添加一个重写规则。该规则应该将调用重定向到PHP处理程序脚本。
  • 该脚本应该评估被请求的路径,从文件系统加载文件,扣除其头并使用header()将其发送给客户端,然后使用echo file_get_contents()执行图像文件的内容。

PHP不受。htaccess的影响,因此它应该能够读取您需要的文件并将其代理给最终用户。