AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von Faar » Mo 14. Okt 2013, 10:30

Moin Xmurrix,

im letzteren Fall könnte man sicher auch als Pfad eine Contenido Seite angeben, die man vorher(!) fest eingerichtet hat ?

Code: Alles auswählen

        header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
        $filename = $_SERVER['DOCUMENT_ROOT'] . '/404.html';
Oder beißt sich das, weil es keine Datei ist?


VG,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von xmurrix » Mo 14. Okt 2013, 10:46

Morgen Faar,

da kann man auch eine CONTENIDO-Seite angeben, sofern es möglich ist, mittels readfile auf URLs zuzugreifen. Dazu muss die PHP-Einstellung allow_url_fopen aktiviert sein.

Alternativ kann man die CONTENIDO-Seite mit einem GET-Request auslesen und ausgeben, z. B. mittels fsockopen().

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von lunsen_de » Mo 11. Nov 2013, 16:02

Hallo, leider komme ich nicht zum gewünschten Ergebnis.

Der HTTP Status Code ist immer 302 Moved Temporarily.

System 4.8.15 AMR 0.5.5

Einstellungen:
Duplicated Content aktiviert (deaktivieren keine Veränderung)
Prozentsatz für "ähnlich klingende" URLs 100
Bei ungültigen Artikeln zur Fehlerseite weiterleiten aktiviert (deaktivieren leitet zur Startseite

Ich habe die Änderungen von xmurrix in die front_content_controller.php eingearbeitet. Wird etwas in der Adresszeile falsch eingegeben komme ich zur Fehlerseite (Adresse: http://www.test.de/fehlerseite/fehlerseite.html?error=1). Leider wird beim HTTP Status Code Check 302 Moved Temporarily ausgegeben, was für die Suchmaschinen nicht zu gut ist (wie ich gelesen haben, in der Vergangenheit von Spammern verwendet).

Was kann man noch tun bzw. was habe ich falsch gemacht. Ich hoffe auf Hilfe.

Gruß lunsen_de

PS: ich habe noch verschiedene Varianten getestet und steige jetzt nicht mehr durch (Status Code: Firefox Addon Live HTTP headers):
Beispielseite ist http://www.test.de/unternehmen/unternehmen.html

V1: Code von xmurrix eingesetzt, AMR ungültigen Artikel deaktiviert,
Eingabe: http://www.test.de/unternehmen/unter123456nehmen.html,
Anzeige: die Beispileseite wird angezeigt (Startartikel der Kategorie Unternhemen),
HTTP/1.1 200

V2: Code von xmurrix eingesetzt, AMR ungültigen Artikel deaktiviert,
Eingabe: http://www.test.de/unter123456nehmen/unternehmen.html,
Anzeige: Fehlerseite wird angezeigt (in der Adresszeile steht weiterhin die eigegebene Adresse),
HTTP/1.1 200

V3: Code von xmurrix eingesetzt, AMR ungültigen Artikel aktiviert,
Eingabe: http://www.test.de/unter123456nehmen/unternehmen.html oder http://www.test.de/unternehmen/unter123456nehmen.html,
Anzeige: Fehlerseite wird angezeigt (in der Adresszeile http://www.test.de//fehlerseite/fehlers ... ml?error=1),
HTTP/1.1 302 Moved Temporarily

Hinzukommt, dass bei aktiviertem "Bei ungültigen Artikeln zur Fehlerseite weiterleiten" die Artikel nicht mehr mit front_content.php?idart=101 ansprechbar sind.

Hat jemand eine Idee, wie man eine saubere Gesamtlösung mit Fehlerseite, HTTP Status Code 404 und evtl. ansprechbaren idarts hinbekommt?

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von xmurrix » Mo 11. Nov 2013, 18:06

Hallo lunsen_de,

das AMR-Plugin liefert keinen HTTP-Header Status mit 404 aus.

Hier gibt eine Möglichkeit, wie man das Plugin anpassen kann, vielleicht hilft dir das weiter:
http://forum.contenido.org/viewtopic.ph ... mr#p161080

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von lunsen_de » Mo 11. Nov 2013, 19:13

Hallo, genau diese Änderungen habe ich doch eingebaut (leider mit den oben beschriebenen Resultaten)!?

Gruß lunsen_de

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von xmurrix » Mo 11. Nov 2013, 19:52

Hast du auch schon folgendes gemacht?
http://forum.contenido.org/viewtopic.ph ... 63#p161844

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von lunsen_de » Mo 11. Nov 2013, 20:57

Hallo, habe ich prbiert, löst aber meine Grundfrage nicht (ist aber gut um duplicate content zu verhindern). Ich fasse nochmal zusammen. Ich möchte bei einer falschen Eingabe in der Adresszeile im Browser auf die Fehlerseite geleitet werden, es soll der 404 Header ausgegeben werden.

Wenn ich deinen Post viewtopic.php?f=60&t=34221&hilit=amr#p161080 richtig verstanden habe, sollte das doch mit deinen Änderungen funktionieren.

Du schriebst:
.....
Somit setzt das AMR-Plugin die wichtigen 3 globalen Variablen für die korrekte Ausgabe der Fehlerseite, den Fehlerstatus ($error = 1), die Kategorie und den Artikel der Fehlerseite.
Dann gibt CONTENIDO auch einen "404 Not Found" Header mit der Fehlerseite aus.
......
Die Änderungen habe ich gemacht, heraus kommen bei mir allerdings:

Beispielseite ist http://www.test.de/unternehmen/unternehmen.html

V1: Code von xmurrix eingesetzt, AMR ungültigen Artikel deaktiviert,
Eingabe: http://www.test.de/unternehmen/unter123456nehmen.html,
Anzeige: die Beispileseite wird angezeigt (Startartikel der Kategorie Unternhemen),
HTTP/1.1 200

V2: Code von xmurrix eingesetzt, AMR ungültigen Artikel deaktiviert,
Eingabe: http://www.test.de/unter123456nehmen/unternehmen.html,
Anzeige: Fehlerseite wird angezeigt (in der Adresszeile steht weiterhin die eigegebene Adresse),
HTTP/1.1 200

V3: Code von xmurrix eingesetzt, AMR ungültigen Artikel aktiviert,
Eingabe: http://www.test.de/unter123456nehmen/unternehmen.html oder http://www.test.de/unternehmen/unter123456nehmen.html,
Anzeige: Fehlerseite wird angezeigt (in der Adresszeile http://www.test.de/fehlerseite/fehlerseite.html?error=1),
HTTP/1.1 302 Moved Temporarily

Ich bekomme kein 404! Oder habe ich etwas vergessen?

Gruß lunsen_de

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von xmurrix » Mo 11. Nov 2013, 22:11

Hallo lunsen_de,

vermutlich passt da irgend etwas nicht. Habe nun für dich und für andere, die eine HTTP-Header mit 404 ausgeben wollen, die letzte Version des AMR-Plugins 0.6.0 überarbeitet.

Die Modifikationen sing nicht offiziell, werden also vorerst nicht übernommen. Ihr könnt das aber für eure AMR-Versionen übernehmen, achtet darauf, dass beim nächsten Update die Änderungen des AMR-Plugins eventuell überschrieben werden.

Downloaden könnt ihr das unter folgender URL:
http://purc.de/temp/plugin_advanced_mod ... 04_mod.zip

Im Package ist auch eine readme.txt drin, in der die Funktionsweise beschrieben ist.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von lunsen_de » Mo 11. Nov 2013, 22:18

Hallo, beim Testen kam folgende Meldung:

Fatal error: Class 'ModRewriteDebugger' not found in /var/www/web10/html/contenido/plugins/mod_rewrite/includes/front_content_controller.php on line 31

Gruß lunsen_de

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von xmurrix » Mo 11. Nov 2013, 22:31

lunsen_de hat geschrieben:...Fatal error: Class 'ModRewriteDebugger' not found in /var/www/web10/html/contenido/plugins/mod_rewrite/includes/front_content_controller.php on line 31...
Es ist die überarbeitete AMR mit der Version 0.6.0, welche Version läuft denn bei dir?
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von lunsen_de » Mo 11. Nov 2013, 22:38

Hallo, bei mir läuft 0.5.5
Woher bekomme ich die 0.6.0?

Gruß lunsen_de

EDIT: Habe es gefunden.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von xmurrix » Mo 11. Nov 2013, 22:42

Mit der 0.5.5 werden die Änderungen nicht funktionieren, den Downloadlink für die neue Version 0.6.0 findest du wie immer hier im Forum:
http://forum.contenido.org/viewtopic.php?t=21578

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von lunsen_de » Mo 11. Nov 2013, 22:52

Hallo, habe 0.6.0 installiert.

Leider ist mein System 5.8.15 und damit scheint das Plugin nicht zu funktionieren.

Fatal error: Call to undefined function conHtmlentities() in /var/www/web10/html/contenido/plugins/mod_rewrite/classes/controller/class.modrewrite_content_controller.php on line 84

Oder?

Gruß lunsen_de

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von xmurrix » Mo 11. Nov 2013, 22:56

lunsen_de hat geschrieben:...
Leider ist mein System 5.8.15 und damit scheint das Plugin nicht zu funktionieren.

Fatal error: Call to undefined function conHtmlentities() in /var/www/web10/html/contenido/plugins/mod_rewrite/classes/controller/class.modrewrite_content_controller.php on line 84...
Ja, das AMR-Plugin 0.6.0 ist für CONTENIDO ab 4.8.16.

Du kannst versuchen, in allen Sourcen das Vorkommen von conHtmlentities() gegen htmlentities() zu ersetzen, mit viel Glück sollte das reichen.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: AMR Modul gibt bei Fehlerseite keinen 404 Header aus

Beitrag von lunsen_de » Mo 11. Nov 2013, 23:37

Hallo, nach Änderung von conHtmlentities() und conHtmlEntityDecode läuft das Plugin.

Mit den 2 modifizierten Dateien lassen sich sogar wieder idarts ansprechen, trotz Aktivierung von "Bei ungültigen Artikeln zur Fehlerseite weiterleiten".

Allerdings wird bei fehlerhafter Adresseingabe zwar zur Fehlerseite geleitet aber der HTTP Status Code ist immernoch:

HTTP/1.1 302 Moved Temporarily!!!

Was fehlt noch?

EDIT: die statische 404.html wird auch nicht geladen:
www.test.de/deutsch/unternehmen/unternehmen.html - führt zur richtigen Seite
www.test.de/deutsch/unternehmen/unter456789nehmen.html - führt zur im Backend konfigurierten Fehlerseite
www.test.de/deutsch/unterne456789hmen/unternehmen.html - führt zur im Backend konfigurierten Fehlerseite
www.test.de/deu456789tsch/unternehmen/unternehmen.html - führt zur STARTSEITE (inder Adresszeile bleibt der eingebene Link stehen)


PS: Bei mir ist im Plugin Backend einiges Deutsch und Einiges (besonders einige InfoTipps) in Englisch? Soll das so sein?

Gruß lunsen_de

Gesperrt