下載所以我使用htaccess的以下規則:強制文件用的.htaccess
AddType SCHM wsc
<FilesMatch "\.(wsc)$">
ForceType SCHM
Header set Content-Disposition attachment
</FilesMatch>
但是當我去file's location它不強制下載
下載所以我使用htaccess的以下規則:強制文件用的.htaccess
AddType SCHM wsc
<FilesMatch "\.(wsc)$">
ForceType SCHM
Header set Content-Disposition attachment
</FilesMatch>
但是當我去file's location它不強制下載
由於問題已經在評論中得到了解答,這只是爲了提供一個Stackoverflow指定方式的答案。
就像在這個問題可以通過使用的mod_headers中的Apache 2來解決。由於Content-Disposition
不是HTTP標準的一部分,因此您可以添加一些其他標題來實現您的目標。
<FilesMatch "\.(wsc)$">
Header set Content-Type application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
您應該考慮的另一件事是您的瀏覽器可能會緩存服務器的響應。瀏覽器仍然會發送請求,但請求將包含一個節點,瀏覽器已經從給定的日期獲得文件。如果文件自給定日期以來沒有更改,服務器將不會將新標題發送到您的瀏覽器。這意味着,如果您更改.htaccess,則直到您在瀏覽器中禁用緩存或更改文件的時間戳之後,纔可能看到任何影響。
您還可以添加
Header set X-Content-Type-Options "nosniff"
更好的兼容性(也許安全性)。它可以防止瀏覽器進行MIME類型的嗅探,這會忽略聲明的內容類型。有關更多信息,請參閱here。
這是正確的,但是(雖然沒有強制執行)文件名被附加到附件處置類型之後,並且有一些瀏覽器(IE)嗅探出二進制文件的前幾個字節來猜測mimetype,這裏是一個完整的(er)[解決方案](http://stackoverflow.com/a/34758866/257319) – 2016-01-13 05:49:57
RFC2616說爲19.5.1 Content-Disposition的
如果該頭在與所述應用程序/ octet-流內容類型的響應中使用的,隱含的建議是,用戶代理不應該顯示響應,但直接輸入'保存響應爲...'對話框。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
您使用哪種瀏覽器?我的Chromium 45下載文件 – Reeno
我使用的是Chrome,但是其他網站上的[類似文件](http://wsdb.fullwormage.com/738.wsc)適用於我,但是在我的ftp上只顯示了在瀏覽器中使用二進制文件 – lopata
也許你應該把Content-Type設置爲application/octet-stream。我認爲這樣的想法:'標頭設置內容類型應用程序/八位字節流' – JojOatXGME