Apache的.htaccess的目錄加密中單獨給某個檔案設定不需要密碼
为情所困
为情所困 2017-05-16 17:04:41
0
1
604

非常簡單的要求。
在網站中用.htaccess對管理目錄進行了加密。但是由於某些原因,部分檔案需要不輸入密碼直接存取。
前提,不能移動文件,只能修改.htaccess來達到要求。
當然,由於只是部分文件,數量很少,所以即使是需要確定的文件名也是可以接受的。當然如果能給某一類後綴的都開放權限的話更好。

为情所困
为情所困

全部回覆(1)
洪涛

既然你是希望一類後綴開放的話,那實現起來就容易多了,比如只希望 .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>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!