Apache的.htaccess的目录加密中单独给某个文件设置不需要密码

发布于 2022-08-24 11:26:40 字数 209 浏览 15 评论 0

非常简单的要求。
在网站中用.htaccess对管理目录进行了加密。但是由于某些原因,部分文件需要不输入密码直接访问。
前提,不能移动文件,只能修改.htaccess来达到要求。
当然,由于只是部分文件,数量很少,所以即使是需要确定的文件名也是可以接受的。当然如果能给某一类后缀的都开放权限的话更好。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半暖夏伤 2022-08-31 11:26:40

既然你是希望一类后缀开放的话,那实现起来就容易多了,比如只希望 .txt可以被访问

<filesMatch "(?<!\.txt)
quot;>  #hint: pcre look behind
    AuthUserFile /home/felix021/wwwroot/test/.htpasswd
    AuthName "Secret Stuff" 
    AuthType Basic
    require valid-user   
</filesMatch>

忽略后面的,仅供参考

下面是之前想到的比较罗嗦的做法。

首先执行这个命令获得所有的文件扩展名:

find -type f -exec basename {} \; | cut -d. -f2 | sort | uniq

比如输出

jpg
js
txt
php
png

比如希望txt不需要密码,其他都需要,然后修改.htaccess:

<filesMatch "\.(jpg|js|php|png)
quot;>  #这里不写txt
    AuthUserFile /home/felix021/wwwroot/test/.htpasswd
    AuthName "Secret Stuff" 
    AuthType Basic
    require valid-user   
</filesMatch>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文