您好,匿名用户
随意问技术百科期待您的加入

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

0 投票

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

用户头像 提问 2012年 12月1日 @ Lady 上等兵 (162 威望)
分享到:

1个回答

0 投票
 
最佳答案

既然你是希望一类后缀开放的话,那实现起来就容易多了,比如只希望 .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>
用户头像 回复 2012年 12月1日 @ Darius 上等兵 (331 威望)
选中 2012年 12月1日 @Lady
提一个问题:

相关问题

0 投票
0 回复 6 阅读
0 投票
1 回复 30 阅读
0 投票
1 回复 71 阅读
0 投票
1 回复 72 阅读
用户头像 提问 2012年 12月1日 @ Janna 下士 (667 威望)
0 投票
1 回复 62 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...