Hallo Meikel, Hallo alle,
ich dachte die Informationen waren ausführlich genug.
Also bei dem Hosting-Anbieter handelt es sich um Issociate, ob es sich um eine Falsche Einstellung im IIS handelt (auch Admins sind nicht unfehlbar)
oder ob ich nur unfähig bin korrektes PHP zu schreiben um bei einer vom Administrator im IIS eingestellten nicht Standard-Fehlerseite (/fehler404.php) den Status 404 auszugeben.
Wie gesagt auf allen anderen virtuellen Hosts bei Issociate klappt das mit
PHP-Code:
<?php
header("HTTP/1.0 404 Not Found");
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>... - Fehler 404 - Seite nicht gefunden</title>
.
. weiterer Header-Code
.
</head>
<body>
.
. benutzerdefinierte Fehlerseite
.
</body>
</html>
Beispielsweise:
www.fit-today.de/nicht-vorhandene-seite.html
Im Gegenzug dazu funktioniert diese Source-Code unter
http://www.weitzig.de/nicht-vorhandene-seite.html
leider nicht. Sondern es wird ein leeres Dokument mit mit
Status 404 zurückgegeben wie Du gern überprüfen kannst.
Wenn ich den PHP-Aufruf header(...) auskommentiere erhält man das korrekte (und valide - also auch der HTML-Code ist korrekt.) Dokument. Allerdings wird dann Status-Code 200 (also OK) und nicht 404 (nicht vorhanden) zurückgeliefert. Wenn Du mich anrufst [Hartmut: Tel-Nr. wieder entfernt]. Ich rufe dann zurück, damit es Dich nicht zuviel Geld kostet.) kann ich das gern mal live umstellen, damit Du dir auch das Verhalten anschauen kannst.
Wie gesagt der Issociate-Administrator sagte mir, der einzige unterschied zwischen den beiden Domänen oben im Beispiel ist Windows Server 2000 und bei der mit dem fehlerhaften verhalten Windows Server 2003. Der Administrator sagte mir, wenn ich ihm mitteile, wie er das Verhalten ändern kann, dann könne er das gerne einstellen.
Darauf bezieht sich meine Anfrage auf, wo finde ich Informationen hierzu.
Übrigens benötige ich keinen Hacker. Per FTP komme ich selbst an den Server und Servereinstellungen kann ich dem Administrator überlassen. Voraussetzung ist allerdings, dass man weiß, an welcher Schraube gedreht werden muss. Ich selbst betreibe keinen IIS, und auf allen anderen Servern von mir setzte ich obigen Code ohne Probleme seit Jahren ein. Ich hoffte hier jemanden zu finden, bei dem dieses Problem vielleicht mal aufgetreten ist, und der mir dann eine Lösung vorschlagen kann.
Der Hinweis auf die Hoffnung auf dieses Forum bezieht sich darauf, dass ich heute schon einige Stunden auf der Suche nach einer Lösung verbracht habe. Überall finde ich nur den Hinweis auf die genannte Header-Zeile. Ob ich HTTP/1.0 oder 1.1 nutze ändert übrigens nichts an dem Verhalten.
Zitat:
Und das klappt? Sogar mit dem IE? Wie gibts Du das aus, wenn der Webserver den URL nicht findet? Fragt der Dich? Wenn ja: wie? Telefonisch, per Email oder haste in irgend einem Fenster Deine Wunschvorstellungten reingetippert, die nicht berücksichtigt werden?
|
Wenn das klappen würde, hätte ich hier keine Frage gestellt.
Ich wollte mit dem IE lediglich sagen, dass hier statt einer leeren Seite die Browserinterne Fehlermeldung entsprechend des korrekt vom PHP zurückgegebenen Status 404 angezeigt wird.
Das im Server der korrekte URI eingestellt ist sehe ich wie gesagt, wenn ich die PHP-Zeile auskommentiere.
Die Kommunikation mit dem Administrator erfolgt übrigens normalerweise telefonisch. Manchmal auch per eMail parallel.
Zitat:
Fortgeschrittene? Jesses... ne, ich sag nix mehr.
|
Wenn ich mir das Niveau im Anfängerbereich anschaue, dann denke ich nicht, dort jemanden zu finden, der eine Antwort auf mein Problem kennt. Wenn sogar der Administrator überfragt ist und auch ich nichts bei meiner Stundenlangen Suche gefunden habe.
Ich arbeite übrigens schon seit 12 Jahren im Web-Entwicklungs-Bereich. Allerdings normal auf Apache-Servern und da hatte ich ein derartiges Problem noch nie. Aber in diesem Fall ist es der Hosting-Anbieter meines Kunden. und der hat nun mal diesen IIS-Server am laufen. Ich würde ungern wegen der benutzerdefinierten Fehlerseite den Server umstellen lassen. Aber dieses Verhalten zwingt mich vielleicht dazu.
Ich hoffe weiterhin darauf, das schon jemand so ein Problem hatte und eine Lösung kennt.
Oder hat jemand eine Idee, warum nach dem 404-Header die HTML-Seite nicht mehr ausgeliefert wird?
Ich hoffe Ihr habt jetzt genügend Infos. Wenn es Versions-Abhängigkeiten gibt kann ich auch gerne erfragen welche IIS und PHP-Version das genau sind?
Mit bestem Dank schon mal
Hartmut