• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Browser Cache Problem bei neuer Website (Meta Tags funktionieren nicht)

Clans

Neues Mitglied
Hallo Gemeinde,

ich habe ein Problem das sich aus früherer Unwissenheit ergibt.

Ich habe meine Website von Grund auf neu gestaltet. Dadurch existieren alte Links auch nicht mehr.
Meine frühere Website hat z.B. eine index.html gehabt die direkt über nen Meta-Tag auf die startsteite.php weitergeleitet wurde ohne Wartezeit.
(Grund war der, dass ich nicht wusste dass eine index.php auch direkt als Startseite gilt und die Startseite php-Inhalte hat).
Und hier habe ich jetzt ein Problem.

1. Ich habe keine index.html mehr, allerdings haben alle Browser die meine Seite schon mal besucht haben diese noch im Cache. Deshalb wird weiterhin auf die startseite.php weitergeleitet, obwohl diese nicht mehr existiert. Ich müsste also nach dem Seitenaufruf sofort F5 drücken um die Startseite neu und richtig zu laden. Das weis natürlich keiner sondern meint die Seite wär down.
Führe ich die index.html wieder ein mit "<meta http-equiv="expires" content="0">" und leite auf die neue index.php weiter wird trotzdem weiterhin die alte index.html verwendet.

2. Einige Seiten haben noch immer den selben Namen (Beispiel "contact.php" weil es sich halt so ergibt). Diese sind auch noch im Cache und dadurch entsteht ein Gemisch aus alter und neuer Seite, da wohl die alte Seite mit den neuen css-Files aufgebaut wird.
Dies könnte mit dem Meta-Tag "<meta http-equiv="expires" content="0">" gelöst werden (hier bei dem Beispiel müsste sogar immer neu laden), allerdings hab ich das im HEAD und trotzdem ladet ohne F5 hier noch das Wirrwarr aus alter Seite mit neuen CSS-Files.

Zur Info noch: Ich weis dass das Problem exisitiert, da ich nur bei meinem Laptop die F5 Taste gedrückt habe und dadurch die Seite nun funktioniert, allerdings bei meinem PC das nicht gemacht habe. Dort will ich es schaffen die neue Seite zu erreichen ohne manuell neu laden zu müssen.

Gibts da irgend nen anderen Trick, dass der Browser weis, dass der Cache für diese Seite gelöscht werden soll?

Bin für jeden Tipp dankbar!
 
Zuletzt bearbeitet:
Hast du eine htaccess-Datei? Darin könntest du vermerken, wohin der Server Besucher weiterleiten soll, die nicht mehr existente Seiten besuchen wollen.
Andere Möglichkeit, nachvollziehbarer, aber weniger elegant: Bau die Seiten, die es nicht mehr gibt, als Leerseiten wieder ein und leite die Besucher von dortaus auf die neuen Seiten weiter.
 
Die .htaccess-Nutzung ist in meinem Webhosting-Paket leider nicht enthalten.
Zweite Möglichkeit hätte ich schonmal probiert (z.B. eben die index.html drin lassen und hier eben auf die index.php weiter verlinken). Allerdings hat er ja die alte Seite im Cache und deshalb weis der Browser auch nicht dass er jetzt die Leerseite laden soll sondern zeigt mir die alte Seite an die nicht mehr funktioniert. Hier müsste ich trotzdem noch die F5-Taste drücken.
 
Ohne eine serverseitige Angabe eines HTTP-Headers der sagt, dass der Browser die ganze Seite neu laden soll und nicht seinen Cache nutzen soll, wird das nicht funktionieren. Wenn Du eine .htaccess-Datei erstellen könntest wäre dort die Angabe vom Apache-Modul mod_expire sicherlich zielführend.
 
Gibt es einen einfachen Befehl oder ein Script, mit dem ich überprüfen kann ob .htaccess-Dateien bei mir funktionieren? Mein Web-Package ist bei dem Hoster nicht mehr im Angebot, evtl. wurde es nur aus neueren Angeboten entfernt.
Ich finde auch nirgens eine Liste aller verfügbaren Features.
 
Wenn es ein apache ist, müsste es ohnehin gehen. Schreibe einfach mal eine .htaccess-Datei uns versuchs.

Nils aka XraYSoLo
 
OK, laut phpinfo(): SERVER API Apache 2.0 Handler, also Apache-Server.
Ich hab das Web Pack M 3.0 von Hosteurope. In dessen Faq steht es allerdings sehr verwirrend bei welchen Packages es funktioniert.

Ich teste mal mit "Trial & Error" und hoffe ich mach nix kaputt ^^.

Edit.: Es ist ja trotz Apache-Server nicht sicher dass ich das der Hoster mir das Verwenden solcher Dateien erlaubt!
 
Zuletzt bearbeitet:
Ob es bei dem Hosting geht, steht aber ziemlich klar in diesem FAQ-Eintrag:
FAQ > Webhosting > WebPack/WebHosting > Informationen zu ...

Also ja, geht.

Testen kannst Du das z.B. mit folgendem Versuch:
Code:
RewriteEngine On
RewriteRule ^test$ test.html

Erstelle eine Datei test.html. Wenn Du dann auf
Code:
www.deinedomain.de/test
zugreifst, müsstest Du den Inhalt von der Datei test.html sehen können. Wenn es nicht geht, müsstest Du eine Fehlermeldung angezeigt bekommen.
 
Ach stimmt, es funktioniert auch. Ich hatte es schon aufgegeben (zu früh), hatte nämlich auch RewriteRule probiert, allerdings die Zeile "RewriteEngine On" nicht hingeschrieben.

Jetzt klappt es wirklich also danke euch allen!!!

So dann fang ich mal an die ganzen htaccess-Funktionen zu lernen/begreifen ...
 
Ach stimmt, es funktioniert auch. Ich hatte es schon aufgegeben (zu früh), hatte nämlich auch RewriteRule probiert, allerdings die Zeile "RewriteEngine On" nicht hingeschrieben.


Edit.: Zu früh gefreut. Bei "/test" wird automatisch auf "/test.html" weitergeleitet falls vorhanden. Andernfalls auf "/test.php" und erst dann kommt die Fehlermeldung dass die Seite nicht funktioniert.

Folgenden Code hab ich dann versucht:
Code:
RewriteEngine On
RewriteRule ^neu$ test.html

Damit sollte beim aufruf der "domain/neu" dann "domain/test.html" aufgerufen werden. Tut es aber nicht. Die Seite existiert nicht für den Browser.
 
Existiert die Datei test.html?

Versuch es mal so:
Code:
RewriteEngine On
RewriteRule ^neu$ test.html [R=302,L]

Moderation: Verschoben von HTML zu Apache.
 
Hat auch nicht geklappt.

Also nur um Fehler auszuschließen: .htaccess-Datei und die test.hmtl liegend direkt im obersten Ordner. Die .htaccess-Datei hat die Rechte 644. Sonst müsste ich ja eigentlich nix machen.

Hab jetzt mal den Support geschrieben, der soll mir erst mal sagen, ob es auch sicher geht.
Melde mich dann nochmal zurück.
 
Zurück
Oben