Konfig. Fehlerseite wird bei ungültiger. idcat nicht angez.

Gesperrt
herbing
Beiträge: 1
Registriert: So 9. Jul 2006, 08:23
Wohnort: Switzerland
Kontaktdaten:

Konfig. Fehlerseite wird bei ungültiger. idcat nicht angez.

Beitrag von herbing » So 9. Jul 2006, 08:47

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.

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » So 9. Jul 2006, 14:20

verschoben... muss man sich ansehen...
*** make your own tools (wishlist :: thx)

asycs
Beiträge: 64
Registriert: Do 2. Feb 2006, 12:13
Kontaktdaten:

Beitrag von asycs » Di 17. Jul 2007, 16:49

hat man schon angesehen?

für das 404 problem scheint es keine lösung zu geben.
jedenfalls nicht im zusammenhang mit mod rewrite

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 19. Jul 2007, 13:06

nein hat nicht...
*** make your own tools (wishlist :: thx)

asycs
Beiträge: 64
Registriert: Do 2. Feb 2006, 12:13
Kontaktdaten:

Beitrag von asycs » Do 19. Jul 2007, 14:53

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:

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 ..

Gesperrt