非常简单的要求。 在网站中用.htaccess对管理目录进行了加密。但是由于某些原因,部分文件需要不输入密码直接访问。 前提,不能移动文件,只能修改.htaccess来达到要求。 当然,由于只是部分文件,数量很少,所以即使是需要确定的文件名也是可以接受的。当然如果能给某一类后缀的都开放权限的话更好。
既然你是希望一类后缀开放的话,那实现起来就容易多了,比如只希望 .txt可以被访问
<filesMatch "(?<!\.txt)$"> #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
比如输出
jpgjstxtphppng
比如希望txt不需要密码,其他都需要,然后修改.htaccess:
<filesMatch "\.(jpg|js|php|png)$"> #这里不写txt AuthUserFile /home/felix021/wwwroot/test/.htpasswd AuthName "Secret Stuff" AuthType Basic require valid-user </filesMatch>
既然你是希望一类后缀开放的话,那实现起来就容易多了,比如只希望 .txt可以被访问
忽略后面的,仅供参考下面是之前想到的比较罗嗦的做法。
首先执行这个命令获得所有的文件扩展名:
比如输出
比如希望txt不需要密码,其他都需要,然后修改.htaccess: