Heim > Fragen und Antworten > Hauptteil
Sehr einfache Anfrage.
Das Verwaltungsverzeichnis wird auf der Website mit .htaccess verschlüsselt. Aus bestimmten Gründen muss jedoch auf einige Dateien direkt zugegriffen werden, ohne dass ein Passwort eingegeben werden muss.
Voraussetzung: Sie können keine Dateien verschieben, Sie können nur .htaccess ändern, um die Anforderungen zu erfüllen.
Da es sich nur um eine Teildatei handelt und die Anzahl gering ist, ist natürlich auch der zu ermittelnde Dateiname akzeptabel. Natürlich wäre es besser, wenn Berechtigungen für alle Suffixe eines bestimmten Typs vergeben werden könnten.
PHP中文网2017-05-16 17:06:41
既然你是希望一类后缀开放的话,那实现起来就容易多了,比如只希望 .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>