亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在htaccess中使用<filesMatch>強制下載

在htaccess中使用<filesMatch>強制下載

冉冉說 2019-09-03 19:35:39
我正在嘗試強制下載一個文件夾的所有文件。頁面上的鏈接如下所示<a href="http://example.com/uploads/documents/file.pdf">Click to download</a>而且我的.htaccess中有這個片段<filesMatch ".*uploads/documents.*">    ForceType application/octet-stream    Header set Content-Disposition attachment</filesMatch>我已經知道標簽內的2行是有效的,因為當我將.htaccess直接放在我想用以下代碼強制下載的文件夾中時,它可以正常工作:<Files *.*>    ForceType application/octet-stream    Header set Content-Disposition attachment</Files>似乎有些東西我對filesMatch標簽不了解。
查看完整描述

3 回答

?
弒天下

TA貢獻1818條經驗 獲得超8個贊

請分別查看FilesMatch和Files的文檔。它明確指出


本節中給出的指令將應用于具有與指定文件名匹配的basename(filename的最后一個組件)的任何對象。


這意味著在您的示例中它匹配file.pdf。你的第二個例子*.*匹配file.pdf,但你的第一個例子.*uploads/documents.*沒有。它實際上永遠不會匹配,因為它包含一個斜杠,用作目錄分隔符。


如果可以編輯apache配置

您應該在指令中附上<Files *.*>或<Files *.pdf>(取決于您要強制下載的內容)Location:


<Location "/uploads/documents/">

    <Files *.*>

        ForceType application/octet-stream

        Header set Content-Disposition attachment

    </Files>

</Location>

如果你不能編輯apache配置

不幸的是,.htaccess文件中不允許使用Location指令。只需在/uploads/documents/目錄中創建一個.htaccess即可。


查看完整回答
反對 回復 2019-09-03
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

搜索更多信息,找到此代碼:


<FilesMatch "\.(mov|mp3|jpg|pdf|mp4|avi|wmv)$">

   ForceType application/octet-stream

   Header set Content-Disposition attachment

</FilesMatch>

為我工作。


查看完整回答
反對 回復 2019-09-03
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

如果您不使用- 文件名,此代碼是完美的 !


例如,對于name-1.mp3,請更改為name1.mp3


<FilesMatch "\.(mp3|avi)$" >

    ForceType application/octet-stream

    Header add Content-Disposition "attachment"

</FilesMatch>

清除瀏覽器并進行檢查。


查看完整回答
反對 回復 2019-09-03
  • 3 回答
  • 0 關注
  • 1021 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號