contao/import — Issue #2864: Contao als ErrorDocument - Fehlendes URL-Suffix
Author: importer
Created: 2011-11-29 20:25:14+00:00
State: open
Labels: Defect, frontend

Das Problem tritt auf, wenn Contao bzw. die index.php als ErrorDocument 404 in der .htaccess gesetzt ist, um eine benutzerfreundlichere Fehlerbehandlung zu ermöglichen:
> ErrorDocument 404 /index.php

Nun wird allerdings bei einem Aufruf einer prinzipiell gültigen URL von Contao (Z. B. http://demo.contao.org/academy.html), bei der aber das URL-Suffix fehlt (http://demo.contao.org/academy), dennoch die entsprechende Seite angezeigt (mit HTTP-Statuscode 404). Angezeigt werden sollte aber die in Contao definierte 404-Seite, wie sie es (bzw. die definierte Umleitung) sonst auch wird (http://demo.contao.org/academyX.html).

Der Fehler liegt in/um der Zeile 89 der Frontend.php:
> $strRequest = preg_replace('/' . preg_quote($GLOBALS['TL_CONFIG']['urlSuffix'], '/') . '$/i', '', $strRequest);

Das URL-Suffix wird hier entfernt, aber $strRequest ebenso unverändert zurückgegeben, wenn das URL-Suffix vorher nicht angehängt war. Davor oder danach sollte also vermutlich eine Abfrage eingefügt werden, ob das URL-Suffix in der aufgerufenen URL-Vorhanden ist oder diese Zeile so geändert werden, dass sonst keine URL zurückgegeben wird.

--- _Originally created by Mynyx on February 13th, 2011, at 01:39pm (ID 2864)_