Probleme mit login_error_page und ModRewrite

Gesperrt
funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Probleme mit login_error_page und ModRewrite

Beitrag von funomat »

Hallo zusammen,

nachdem ich mich hier bezüglich meines Problems ein wenig umgeschaut habe, und festgestellt habe, dass es einige Artikel gibt die zwar ähnliche aber nicht genau mein Problem aufgreifen (kann natürlich auch was übersehen haben 8) !!), habe ich mal versucht das Problem selber zu lösen.

1. Problembeschreibung:
Ich benutze die Contenido 4.8.8. mit ModRewrite Plugin. Wenn ich mich mit dem Standard Login Modul mit falschen Daten einlogge, lande ich nicht auf der, unter den Mandanteneinstellungen, eingerichteten Login-Fehlerseite, sondern auf der Standard-Fehlerseite.

Lösung:
In der Datei cms/front_crcloginform.inc.php die Zeile 42

Code: Alles auswählen

$sUrl = $cfgClient[$client]["path"]["htmlpath"]."front_content.php";
durch

Code: Alles auswählen

$sUrl = "front_content.php";
Nun taucht aber ein weiterer Fehler auf der mit dem ModRewrite zu tun hat.

2. Problembeschreibung:
Ich lande jetzt zwar auf der richtigen Seite, aber die URL ist komplett falsch. Die sieht dann in etwa so aus:
http://www.domain.xy/kategorie-alias-de ... catart=123

123 steht in diesem Fall für die unter den Mandanteneinstellungen für login_error_page eingetragene idcatart.

Lösung:
Gleiche Datei Zeile 66-70

Code: Alles auswählen

if ($bRedirect) {
    $strErrorUrl = $sess->url($strErrorUrl);
    header("Location: ".$strErrorUrl);
    exit();
}
ersetzen durch

Code: Alles auswählen

if ($bRedirect) {
    $strErrorUrl = 'Location: ' . CEC_Hook::execute('Contenido.Frontend.CreateURL', $strErrorUrl);
    header ($strErrorUrl);
    exit();
}
und Zeile 86-89

Code: Alles auswählen

    $strErrorUrl = $sUrl . "?" . implode("&", $aLocator);
    $strErrorUrl = $sess->url($strErrorUrl);
    header ("Location: " . $strErrorUrl);
    exit();
ersetzen durch

Code: Alles auswählen

    $strErrorUrl = $sUrl . "?" . implode("&", $aLocator);
    $strErrorUrl = 'Location: ' . CEC_Hook::execute('Contenido.Frontend.CreateURL', $strErrorUrl);
    header ($strErrorUrl);
    exit();
Ob es ähnliche Probleme gibt, wenn man kein ModRewrite einsetzt, kann ich nicht sagen. Aber wer tut das schon :wink: !!

Gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Beitrag von funomat »

Noch eine kleine Ergänzung:

Jeweils vor die Zeile

Code: Alles auswählen

$strErrorUrl = 'Location: ' . CEC_Hook::execute('Contenido.Frontend.CreateURL', $strErrorUrl);
noch folgendes einfügen

Code: Alles auswählen

$strErrorUrl = $sess->url($strErrorUrl);
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Gesperrt