Fehler in contenido 4.6.8, 4.6.8.5 und 4.6.8.5 ModRewrite:
Wenn im Mandanten eine Fehlerseite konfiguriert wurde, wird diese nicht angezeigt, wenn eine ungültige (undefinierte) idcat in der url angegeben wird, sondern immer die Startseite. Das fällt natürgemäß bei Nutzung von ModRewrite eher auf, ist aber ein grundsätzliches Problem.
Grund ist die Abfrage in front_content.php in Zeile 605 (MR in 690): "if ($public == 0)", welche immer wahr ist, wenn die idcat ungültig ist. dadurch werden dann die ganzen auth Funktionen durchgeführt, welche im Ergebnis dazu führen, dass die Startseite angezeigt wird.
Wenn man die Zeile ändert in: "if (isset($public) && $public == 0)", dann funktioniert alles, wie geplant.
Konfig. Fehlerseite wird bei ungültiger. idcat nicht angez.
Hab nun eine schnelle und halbwegs brauchbare Lösung für das 404 Problem beim ModRewrite.
Da sich die Fehlerseite nicht jeden Tag ändert, hab ich die mal hart in die front_content.php geschrieben.
Zeile 313:
$errsite = "Location: http://www.seite.de/404/";
z.B. 404 Verzeichnis anlegen und darin eine neue .htaccess anlegen.
Inhalt beispielhaft:
Ergebnis:
- 404 geht nun an die Suchmaschine
- Fehlerdokument kann in der gezeigten .htaccess angegeben werden
Zum einen also kein dublicate content mehr und die Suchmaschine indiziert die falsch aufgerufene Seite nicht.
Prinzip heißt also, raus aus dem Basisverzeichnis des ModRewrite ..
Da sich die Fehlerseite nicht jeden Tag ändert, hab ich die mal hart in die front_content.php geschrieben.
Zeile 313:
$errsite = "Location: http://www.seite.de/404/";
z.B. 404 Verzeichnis anlegen und darin eine neue .htaccess anlegen.
Inhalt beispielhaft:
Code: Alles auswählen
#PD-ADMIN-ERRORDOCS BEGIN
ErrorDocument 401 http://www.seite.de
ErrorDocument 404 http://www.seite.de
RewriteEngine on
Rewritecond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule (.php|.cgi|.php|.php4|.php5)$ http://www.seite.de
RewriteBase /404/
RewriteRule ^(.*)$ http://www.seite.de/$1 [R=301,L]
ErrorDocument 500 http://www.seite.de
#PD-ADMIN-ERRORDOCS END
Ergebnis:
- 404 geht nun an die Suchmaschine
- Fehlerdokument kann in der gezeigten .htaccess angegeben werden
Zum einen also kein dublicate content mehr und die Suchmaschine indiziert die falsch aufgerufene Seite nicht.
Prinzip heißt also, raus aus dem Basisverzeichnis des ModRewrite ..