Зміна 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";
}
Таким чином, ви можете додати інші відповідні збіги тощо, відповідні вашій конфігурації.