既然你是希望一类后缀开放的话,那实现起来就容易多了,比如只希望 .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
比如输出
jpg
js
txt
php
png
比如希望txt不需要密码,其他都需要,然后修改.htaccess:
<filesMatch "\.(jpg|js|php|png)$"> #这里不写txt
AuthUserFile /home/felix021/wwwroot/test/.htpasswd
AuthName "Secret Stuff"
AuthType Basic
require valid-user
</filesMatch>