Зміна Content-Type
з .txt
файлів може працювати, але це досить ризикований спосіб вирішити цю проблему, тому що ви не можете гарантувати 100% , що браузер користувача буде реагувати , як ви очікуєте. А ще помилково маркувати .txt
файл як бінарний файл.
Натомість я пропоную використовувати стандартний спосіб змусити браузер завантажувати, а не відображати файл, тобто використовувати Content-Disposition
заголовок зі значенням attachment
( RFC 2183 , див. Також RFC 2616 ).
Наприклад, цей location
блок nginx відправить такий заголовок з .txt
файлами під /downloads/
URI, і таким чином вони будуть змушені завантажувати:
location ~ ^/downloads/.*\.txt$ {
add_header Content-Disposition "attachment";
}
Таким чином, ви можете додати інші відповідні збіги тощо, відповідні вашій конфігурації.