Fehler: Seite kann nicht angezeigt werden

Gesperrt
Wool2000
Beiträge: 6
Registriert: Di 14. Jan 2003, 22:39
Kontaktdaten:

Fehler: Seite kann nicht angezeigt werden

Beitrag von Wool2000 »

Hallo,
bin ziemlich am Verzweifeln. Habe Contenido installiert und wollte das Tutorial mal durchmachen... Ich konnte ein Layout anlegen, ein Template etc. Aber sobald ich dann eine eigentliche Seite erstellen will (z.B. unter 'Home') kommt unterhalb der Contenido Navigation Bars die Meldung 'Seite kann nicht angezeigt werden... Fehler: Server od. DNS kann nicht gefunden werden'. Wenn ich dann 'Zurück zur Übersicht klicke' komme ich wieder einwandfrei auf die Übersicht. Klicke ich in dieser Übersicht auf das Vergrösserungsglas, komme ich auf: http://myserver/front_single/front_cont ... contenido=... mit dem gleichen Fehler.

Habe das Gefühl der Fehler taucht auf sobald das Verzeichnis 'front_single' ins Spiel kommt...

In den IIS Logs taucht an dieser Stelle immer das HTTP Warning '302' auf.
Hat jemand schon mal solche Probleme gehabt??

Umgebung: W2K, IE6
Wool2000
Beiträge: 6
Registriert: Di 14. Jan 2003, 22:39
Kontaktdaten:

Seltsame Datei gefunden...

Beitrag von Wool2000 »

Also ich glaube ich weiss jetzt wo dieser Fehler herkommt. Ich habe im Contenido Verzeichnis /front_single die Datei left_frame.php mit folgendem
Inhalt gefunden:

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="0">
<meta http-equiv="description" name="description" content="Die Bandhomepage der Ilmenauer Rockband Neversaid.">
<meta http-equiv="keywords" name="keywords" content="Neversaid, Band, Ilmenau">
<meta http-equiv="Copyright" name="Copyright" content="(c) 1999-2002 Twomoons">
<meta http-equiv="author" name="author" content="Paul Eppner / www.relocated.de">
<meta http-equiv="robots" name="robots" content="nofollow,noindex">
<link rel="StyleSheet" href="css/styles.css" type="text/css">
<script language="javascript">
<!--
if (top.frames.length<=1) parent.location.href="http://www.relocated.de";
//-->
</script>
</head>
<body>
&nbsp;
</body>
</html>

W A S S O L L D A S ???
Eppi
Beiträge: 252
Registriert: Di 17. Sep 2002, 16:33
Wohnort: Ilmenau (Thüringen)
Kontaktdaten:

Beitrag von Eppi »

LOL. Du scheinst Dich doch mit HTML auszukennen. Dann behebe einfach den Fehler und gut ist.
Ein neues CMS-System:
www.der-dirigent.de
Wool2000
Beiträge: 6
Registriert: Di 14. Jan 2003, 22:39
Kontaktdaten:

Es ist die Server variable $HTTP_HOST

Beitrag von Wool2000 »

Hallo,
inzwischen bin ich ein bisschen weiter: Die Relocation auf 'www.relocated.de' erzeugt zwar auch den Fehler 'Seite kann nicht angezeigt werden' - Das ist aber nicht das eigentliche Problem.

Die Seite /front_single/front_content_edit.inc.php erzeugt eine ungültige URL, weil die Variable $HTTP_POST nix enthält... Ich nutze einen IIS auf W2K. Irgendeine Idee?

Wenn ich phpinfo() aufrufe, wird mir HTTP_HOST korrekt angezeigt, wenn ich einen ASP Auruf 'Request.ServerVariables("http_host") mache funktioniert das auch. Nur wenn ich die Variable $HTTP_HOST in PHP verwenden will, ist die leer.

Nun bin ich leider ein PHP Neuling... Keine Ahnung wie ich das beheben kann.
Eisi
Beiträge: 102
Registriert: So 3. Nov 2002, 18:50
Kontaktdaten:

Beitrag von Eisi »

Nimm Apache... :)
Alles über Final Fantasy 7 und 9:
www.Zeitzumspielen.de

Veranstaltungsmanagement an der FH Osnabrück:
www.VamosOnline.de
Wool2000
Beiträge: 6
Registriert: Di 14. Jan 2003, 22:39
Kontaktdaten:

Beitrag von Wool2000 »

Klasse dieses Forum... unheimlich hilfreiche Antworten. Danke.
Eppi
Beiträge: 252
Registriert: Di 17. Sep 2002, 16:33
Wohnort: Ilmenau (Thüringen)
Kontaktdaten:

Beitrag von Eppi »

sorry, aber wir können einfach alle Deinen Fehler nicht nachvollziehen, da er noch nie aufgetreten ist! Versuch es doch mal mit Apache, was ist daran eine blöde Antwort? Vielleicht ist es ja die Lösung. Würde uns freuen, wenn Du uns dann berichten könntest ob es funktioniert.
Ein neues CMS-System:
www.der-dirigent.de
braendle

Beitrag von braendle »

Also bei mir wird HTTP_HOST nur von Apache ausgelesen. Bei meinem IIS5 ist HTTP_HOST Bestandteil der Werte von ALL_HTTP in der ISAPI-Schnittstelle. Ausgabe über phpinfo().

Als Alternative ab PHP 4.10: Versuch's doch mal mit den neuen Superglobals, speziell mit $_SERVER["HTTP_HOST"], den Wert bekomme ich auch einzeln angezeigt.

Hoffe es hilft Dir weiter.

Eisi:
Nimm Apache...
Contenido läuft bei mir super unter W2K, IIS5 und PHP 4.2.3 :D
Immer wenn ich glaubte: Ich darf die Plattform zum Entwicklen frei wählen, kam ein Chef und war anderer Ansicht ... :shock:
Eisi
Beiträge: 102
Registriert: So 3. Nov 2002, 18:50
Kontaktdaten:

Beitrag von Eisi »

Sorry, ich wollte nicht unhöflich sein.

Hätte wohl besser geschrieben "Versuch es doch mal mit Apache (weil HTTP_HOST da richtig ausgelesen wird)".
Alles über Final Fantasy 7 und 9:
www.Zeitzumspielen.de

Veranstaltungsmanagement an der FH Osnabrück:
www.VamosOnline.de
Wool2000
Beiträge: 6
Registriert: Di 14. Jan 2003, 22:39
Kontaktdaten:

Contenido unter IIS

Beitrag von Wool2000 »

Hallo zusammen,
mein Problem ist ähnlich wie in der Mail von 'braendle' angesprochen: Es bringt mir relativ wenig, wenn Contenido unter APACHE läuft (was ich nie angezweifelt habe) -> Ich muss die Software auf einem Server einsetzen, auf dem auch ein ASP (VBScript) Produkt läuft. Da bin ich nun mal auf den IIS angewiesen.

Ich habe inzwischen auch herausgefunden, dass der IIS die Variable $HTTP_HOST nicht füllt. Das Problem existiert z.B. in der Datei /conlib/session.inc Funktion: release_token(). Habe dort inzwischen $HTTP_HOST durch $HTTP_SERVER_VARS['HTTP_HOST'] ersetzt (das gibts auf dem IIS, hab ich überprüft). Das bringt mich ein Stück weiter: Ich bekomme jetzt nicht mehr 'Seite kann nicht angezeigt werden...' sondern 'Sie haben nicht die erforderliche Berechtigung, um die Seite anzuzeigen...'. Wenn ich mir anschaue, was da angezeigt werden soll (im IIS Server Log), sehe ich:

'/ sid=82a4081bf3ef64be13a4bf5b177ae9eb 403 0 HTTP/1.1 w2000srv01 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) http://w2000srv01/contenido/main_con_ed ... ntenido=0c...' ???

Hierzu einige Fragen:
1.) Meinen Recherchen zu Folge stammt die Datei session.inc aus PHPLIB. Gibts da was neueres?
2.) Wenn der IIS die $HTTP_HOST Variable nicht füllt, dürfte ich ja wohl nicht der Einzige sein, der dieses Problem hat. Gibts andere IIS User mit einschlägigen Erfahrungen?
3.) Direkt an 'braendle': Ich habe exakt die gleichen Bedingungen wie Du: W2K/IIS5/PHP 4.2.3. Du sagst, Contenido würde 1a laufen: Hast Du irgendwas am Sourcecode von Contenido ändern müssen?
braendle

Beitrag von braendle »

'/ sid=82a4081bf3ef64be13a4bf5b177ae9eb 403 0 HTTP/1.1 w2000srv01 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) http://w2000srv01/contenido/main_con_ed ... ntenido=0c...' ???
Ähm, also meine bescheidenen Kenntnisse in IIS5 lassen diesen eintrag in einem ganz anderen Licht erscheien. Der HTTP-Code 403 steht für "Access denied", das gibt es unter W2K/IIS5 wenn der IIS keine Zugriffsrechte auf die angeforderte Datei hat. :(

Das hat nix mehr mit Contenido an sich zu tun, sondern eher mit dem IIS5. Schau mal in der MMC für den IIS in der Konfiguration für das Web unter dem Punkt "Sicherheit" ... ich glaube der heißt so ... welcher USER für den Zugriff dort eingetragen ist ... dann prüfe ob dieser User auch Zugriffsrechte auf die Dateien im Verzeichnis auf der Festplatte hat.

Zu Deiner direkten Frage an mich: Ich habe den Code von 4.2 zwar modifiziert, siehe mein Posting http://www.contenido.de/forum/viewtopic.php?t=475 - CSS-Editor mit DB-Backend - aber die session.inc habe ich dabei nicht angefaßt, und den Wert $HTTP_HOST hab' ich auch noch nicht direkt gebraucht.

Hoffe es hilft Dir weiter ...

Gruß
Sven777b
Beiträge: 503
Registriert: Mi 18. Sep 2002, 00:00
Wohnort: Sachsen
Kontaktdaten:

Beitrag von Sven777b »

um übrigens auf Nummer Sicher zu gehen und nicht alle $HTTP_HOST ersetzen zu müssen, solltest du in der config.php einfach die Zeile hinzufügen:

$HTTP_HOST = $HTTP_SERVER_VARS['HTTP_HOST'];

die config.php wird ja immer geladen und die dort liegenden Variablen sind global - also überall vorhanden. Du solltest an der Stelle prüfen, ob nicht vielleicht noch andere Server-Variablen betroffen sind.


der 403 ergibt sich vermutlich aus der Tatsache, dass die URL durch den / am Anfang auf´s HTTP-Root zeigt. Normalerweise sollte da noch
http://w2000srv01/contenido/irgendwas davor stehen. Das wird glaube per $php_self gelöst. Ist jedenfalls auch in der sessions.inc wenn ich mich nicht irre. Dort wird zumindest dir bisherige URL mit der Session_ID versehen - und wenn er die URL nicht richtig einlesen kann, resultiert das darin, dass die URL nur noch aus der SessionID besteht.

Code: Alles auswählen

  function self_url() {
    global $PHP_SELF, $QUERY_STRING;

    return $this->url($PHP_SELF.
           ((isset($QUERY_STRING) && ("" != $QUERY_STRING)) ? "?".$QUERY_STRING : ""));
  }
da bin ich aber wie gesagt nicht 100% sicher ob es das ist..
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net

Der-Dirigent: http://der-dirigent.de
Wool2000
Beiträge: 6
Registriert: Di 14. Jan 2003, 22:39
Kontaktdaten:

...

Beitrag von Wool2000 »

Hallo zusammen,
vielen Dank für die inzwischen doch sehr hilfreichen Kommentare. Bin inzwischen auch ein Stückchen weiter - genauer gesagt, ich habe das Problem gelöst:

Es hat eigentlich gar nichts mit dem IIS zu tun: In der PHP.INI habe ich eine Einstellung gefunden, die man ändern muss, damit es funktioniert:

register_globals = On (Default: Off)

Allerdings ist dort ein Hinweis, dass man aus Sicherheitsgründen die Defaulteinstellung beibehalten sollte !!

Habe in Contenido auch eine Datei gefunden, die wohl irgendwas damit zu tun hat (contenido/inc/globals_off.inc.php), allerdings werden dort wohl nicht alle globalen Variablen gesetzt die auf http://www.php.net/manual/en/configurat ... er-globals empfohlen werden.

Ich habe auch mal nachgeschaut wie eine doch sehr verbreitete Applikation wie PHPMyAdmin das Problem löst - denn das funktioniert auf meinem IIS anstandslos. Ein Beispiel:

Code: Alles auswählen

// Gets the host name
// loic1 - 2001/25/11: use the new globals arrays defined with php 4.1+
if (empty($HTTP_HOST)) {
    if (!empty($_ENV) && isset($_ENV['HTTP_HOST'])) {
        $HTTP_HOST = $_ENV['HTTP_HOST'];
    }
    else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_HOST'])) {
        $HTTP_HOST = $HTTP_ENV_VARS['HTTP_HOST'];
    }
    else if (@getenv('HTTP_HOST')) {
        $HTTP_HOST = getenv('HTTP_HOST');
    }
    else {
        $HTTP_HOST = '';
    }
}
Evtl. hat Contenido hier noch etwas Nachholbedarf. Ich werde den Sicherheitsaspekt jetzt erst mal ingnorieren und mich jetzt erst mal ans eigentliche Testen machen. Danke noch mal allen.

Ciao,
Christoph

>>>Wer auf die Jagd nach einem Tiger geht,<<<
>>>muß damit rechnen, einen Tiger zu finden.<<<
Gesperrt