
Ich habe eine Webseite mit einem Link zu einer PDF-Datei ( target="_blank"
). Wenn ich auf den Link klicke, zeigt der PDF-Reader im Firefox-Browser nur einen grauen Bildschirm an.
Wenn ich diesen Link kopiere und ihn manuell in einer neuen Registerkarte öffne, wird das PDF korrekt angezeigt und nachfolgende Anfragen durch Klicken auf den ursprünglichen Link funktionieren jetzt, was darauf hindeutet, dass das Problem beim Laden der Datei in den Cache auftritt.
Es scheint, als ob das Plug-In für den Adobe PDF-Reader Byte-Range-Anfragen stellt (ich sehe viele 206-Antworten) und ich vermute, dass dies die Ursache des Problems sein könnte.
Ich betreibe einen Apache-Webserver. Hatte jemand Probleme mit den Byte-Range-Anfragen von Apache und Adobe? Gibt es Workarounds? Vielleicht eine Möglichkeit, Apache so zu konfigurieren, dass Byte-Range-Anfragen bei PDFs ignoriert werden?
Antwort1
Die Frage zum Deaktivieren der Anfragen wurde auf der httpd-Mailingliste gestellt und beantwortet:
Wie deaktiviere ich Accept-Ranges?
Ursprungsserver, die Byte-Range-Anfragen akzeptieren, KÖNNEN senden
Accept-Ranges: bytes Servers that do not accept any kind of range request for a resource MAY send Accept-Ranges: none
Wenn Sie keinen direkteren Weg finden, können Sie immer mod_headers verwenden, um die Antwortheader zu entfernen oder zu ändern.
-> siehe Apache-Dokumentation für mod_headers, um zu erfahren, wie der Accept-Ranges-Header auf „none“ gesetzt wird
http://mail-archives.apache.org/mod_mbox/httpd-users/200912.mbox/%[email geschützt]%3E
Antwort2
Dieses Problem führte beim Anzeigen einer PDF-Datei manchmal zu Fehler 109 im Acrobat Reader.
So deaktivieren Sie Byte-Bereichsanforderungen über die htaccess-Datei:
# Disable Byte-range for PDF files
<Files *.pdf>
Header set Accept-Ranges none
</Files>
Antwort3
Hängt Squid mittendrin? Das ist ein häufiges Problem mit dem Adobe-Plugin: Es versucht, das Ende der PDF-Datei (das Inhaltsverzeichnis) abzurufen, Squid beginnt mit dem Herunterladen der gesamten Datei, Adobe tritt in eine Zeitüberschreitung ein und zeigt eine leere Seite an.
Gewöhnen Sie sich stattdessen an, mit der rechten Maustaste zu klicken und „Speichern unter“ auszuwählen – eine PDF-Datei ist kein Webdokument und sollte nicht in einem Browser angezeigt werden.