Forester: Alle Links einer Seite vor Cachen schützen

Ich habe folgendes Problem:
Ich habe eine HMTL-Seite, die auf eine XLS-Datei linkt. Ich will erreichen, dass diese XLS-Datei nicht aus dem Cache des IE geladen wird, wenn sie wiederhohlt aufgerufen wird.
Wie erreiche ich, dass jeder die aktuelle Version sieht und keine gecachte.
Kann ich das in der HTML-Datei ("alle links dieser seite nicht cachen") oder kann ich das in der Excel-Datei angeben ("diese Datei neu laden").

Ich kann das zwar bei mir im Browser ändern, das bringt aber meinen Besuchern nichts.
PS: Muss es nur beim IE wissen, Netscape etc. brauch ich net.

  1. Kann ich das in der HTML-Datei ("alle links dieser seite nicht cachen") oder kann ich das in der Excel-Datei angeben ("diese Datei neu laden").

    <meta http-equiv="expires" content="0">

    damit weist du dem browser zu die seite neu vom server zu laden...

    Gruss

    1. Wer lesen kann ist klar im Vorteil ;)
      Ich will die XLS vorm Cachen schützen, nicht die HTML-Datei !
      Trotzdem thx

      1. Wer lesen kann ist klar im Vorteil ;)
        Ich will die XLS vorm Cachen schützen, nicht die HTML-Datei !
        Trotzdem thx

        Da vergeht eim die Lust am Helfen....

        1. Hi Christoph,

          Wer lesen kann ist klar im Vorteil ;)
          Da vergeht eim die Lust am Helfen....

          sorry, Christoph - aber wo er recht hat, da hat er nun mal recht.
          Gut gedacht ist oft genug das Gegenteil von gut gemacht ...

          Viele Grüße
                Michael

          --
          T'Pol: I meant no insult.
          V'Lar: Of course not. You're simply speaking your mind ... as you always have.
    2. Moin!

      Kann ich das in der HTML-Datei ("alle links dieser seite nicht cachen") oder kann ich das in der Excel-Datei angeben ("diese Datei neu laden").

      <meta http-equiv="expires" content="0">

      damit weist du dem browser zu die seite neu vom server zu laden...

      Ja, aber das kann man ja bekanntlich nicht in eine Excel-Datei einbauen, sondern nur in die HTML-Seite. Diese HTML-Seite jedesmal neu zu laden hilft aber nichts, um die Excel-Datei aktuell zu laden, weil sich diese Angabe eben nur auf die HTML-Seite bezieht, aber nicht auf die dort vorhandenen Links auf andere Seiten oder Dateien.

      Lösung: Wenn der Webserver entsprechende HTTP-Header mitliefert (und das Meta-Tag ist nur eine Krücke, um in HTML-Seiten diese HTTP-Header als einfacher Seitenschreiber mit unterzubringen), dann wird der Browser die Excel-Datei immer neu laden, wenn man den Link klickt.

      Beim Apache ist dafür (unter anderem) .htaccess zuständig. Dort muß im Prinzip die Meta-Angabe nur sinngemäß für Excel-Dateien eingetragen werden. Siehe auch http://httpd.apache.org/docs/mod/mod_expires.html.

      Als Beispiel ist im verlinkten Dokument sowas genannt:
         ExpiresActive On                  # enable expirations
         ExpiresByType image/gif A2592000  # expire GIF images after a month
                                           #  in the client's cache
         ExpiresByType text/html M604800   # HTML documents are good for a
                                           #  week from the time they were
                                           #  changed, period

      Die Zahlenangaben stehen für Sekunden.

      Mit "ExpiresByType application/vnd.ms-excel A0" solltest du alle Excel-Dokumente auf "sofort ungültig" setzen können. "A" steht für "Zeitpunkt des Browserzugriffs", und die Null dahinter wird zu diesem Zeitpunkt dazugerechnet, um den Zeitpunkt der Ungültigkeit zu bestimmen. "application/vnd.ms-excel" ist der Mimetyp für Excel-Dateien. Setze hier ggf. den Typ ein, den dein Server versteht - ich glaube aber nicht, dass das notwendig sein wird, denn der genannte Mime-Typ ist als Standard für Excel-Dateien fest definiert, sieht nur etwas komisch aus.

      - Sven Rautenberg

      --
      Diese Signatur gilt nur am Freitag.
      1. Moin Moin !

        Nicht so elegant, nicht unbedingt sauber, aber hilfreich, wenn man einen Billig-Provider ohne .htaccess hat:

        Den Link per Javascript schreiben oder mit einem onclick-Handler bauen, und an die Datei-URL irgendwelche Zufallszahlen oder aktuelle, sekundengenaue Zeit anhängen, also statt

        <a href="stupid-propritary-junk.xls">

        das:

        <a href="stupid-propritary-junk.xls?012901782368726349876236">

        per document.write ausgeben (wenn man davon ausgehen kann, das alle Leute, die die Datei haben wollen, javascript aktiviert haben).

        Alexander

        --
        <!--#include file="signature.html" -->