Причина, по которой сообщается, что перечисленные решения не работают половину времени, заключается в том, что при использовании ассоциации MIME по умолчанию или при установке заголовка Content-Type в <Files>
или <FilesMatch>
(для расширения файла PDF) не будет влиять на файлы PDF, которые динамически передаются с помощью кода PHP (т. е. readfile()
) ...
Чтобы файл PDF открывался в браузере вместо загрузки , вместо него следует использовать LocationMatch
:
<LocationMatch "\.(?i:pdf)$">
ForceType application/pdf
Header set Content-Disposition inline
</LocationMatch>
Таким образом, он принимает передачи, которые не являются прямыми из файловой системы.