Das neue Routing System in 3.8x arbeitet nicht wie es soll - ID weiterhin in URL

  • Hallo zusammen,


    nach dem Update meiner Seite von 3.7 auf 3.8.2 habe ich ein Problem mit meinen URLs.


    Vorweg muss ich sagen, dass ich in der Vergangenheit durch Anpassungen in der Datei router.php bzw. legacyrouter.php meine Seite so konfigurierte hatt,e dass in den URLs keine IDs vorhanden waren. Nach jedem Update musste ich bisher diese Dateien wieder anpassen damit mit keine ID angezeigt werden. Das mache ich seit 2014 so.


    So wurde aus: http://www.baublog-liste.de/bl…einer-anderen-perspektive
    Dann: http://www.baublog-liste.de/bl…einer-anderen-perspektive


    Mit 3.8 ist ja nun das neue Router-System hinzugekommen. Laut Beschreibung macht es genau das von Haus aus, was ich bisher durch Modifikationen erreicht habe.


    Nach dem Update auf 3.8.2 passiert zunöchst wie erwartet, dass die URL wie folgt definiert wird:
    http://www.baublog-liste.de/bl…einer-anderen-perspektive


    In den Beitragsoptionen habe ich dann bei Integration die Auswahl für URL Generierung auf MODERN gesetzt und bei IDs aus URL entfernen den Wert JA". Das Ergebnis ist:
    http://www.baublog-liste.de/bl…einer-anderen-perspektive


    Ich wäre aber davon ausgegangen das es folgendes Ergebnis ist:
    http://www.baublog-liste.de/bl…einer-anderen-perspektive


    Doch leider nein ;( Im übrigen ist es auch egal welchen Wert ich bei "IDs aus URL entfernen" setzte, es ist immer das selbe Ergbnis. Cache habe ich auch schon mal gelöscht.


    Jemand vielleicht eine Idee wie ich das in den Griff bekomme ohne eine Rücksicherung auf die Version 3.7 zu machen?

  • Zitat


    Das sieht doch so aus als würde das routing überhaupt nicht ausgeführt, also gar nicht - und dementsprechend ist es egal, welche Parameter du setzt.
    Die Parameter für das url rewriting sind gesetzt und die .htaccess ist korrekt?
    Wenn du einen core hack druchführen konntest kannst du vielleicht gezielt debuggen, was im router der Komponente vorgeht.

  • Auf dem selben Server habe ich noch eine weitere Joomla Installaion mit Version 3.8.2 dort klappt es mit der neuen Router-Funktion.


    Gehe schon davon aus, dass grundsätzlich das Routing funktioniert, da wenn ich zurück auf den Kompaibel Modus umschalte, die klassische Darstellung erfolgt > http://www.baublog-liste.de/bl…einer-anderen-perspektive


    Von der zweiten Installation habe ich nun mal die .htaccess sowie die router.php und routerlegacy.php übernommen. Doch es hat sich nichts verändert.


    Zum Vorschlag Core Hack muss ich leider passen. Damit kenne ich mich nicht wirklich aus.

  • Danke für den Hinweis Indigo66. Ja, ich habe zu dem Thema auch ein Post auf https://www.facebook.com/group…ermalink/852386888268452/ eröffnet. Ich bitte es zu entschuldigen wenn ich hier zu schnell gehandelt gehandelt habe und den Hinweis auf das Crossposting versäumt habe.


    Da ich noch nicht weiter bin in der Sache, werde ich eine Rücksicherung vornehmen auf den Stand Joomla 3.7x. Gefällt mir zwar wegen den Sicherheitsproblemen nicht, doch wenn die URL´s nicht mehr stimmen habe ich ein anderes Problem. Auf einer Testseite werde ich dann versuchen das Problem weiter einzugrenzen.


    Danke und beste Grüße


    Matthias

  • Zitat

    Die Dateien stehen unter:
    /components/com_content/helpers/legacyrouter.php
    /components/com_content/router.php


    Das war ein Core Hack. Wenn du da selbst programmiert hast dann vergleiche doch die Unterschiede. Ich habe die Änderungen nicht verfolgt. Vor einem Monat wurde in legacyrouter ein kleiner fix vorgenommen, vielleicht stört sich das. Aber so und so: Core Hacks sind evil. Ich verstehe dass du jetzt kurfristig irgend was brauchst.
    Aber auf längere Siche solltest du unbedingt darauf hinarbeiten, deine Content-Struktur so zu bauen dass kein Core Hack nötig ist.
    Bei allen andere geht es ja auch.

  • Guten Morgen,


    ich habe auf meiner Seite genau das selbe Problem wie ddenw, ich habe bei mir aber kein Core Hack angewendet.
    Aktuell weiß ich auch nicht, wo ich bei diesem Fehler ansetzen soll, um diesen zu beheben.


    Gruß
    Andreas

  • Aber auf längere Siche solltest du unbedingt darauf hinarbeiten, deine Content-Struktur so zu bauen dass kein Core Hack nötig ist.
    Bei allen andere geht es ja auch.


    Wie das so ist mit "alten" über die Jahre gewachsenen Projekte. Damals habe ich mit einer Modifikation beholfen das diese "schönen" URLs herauskommen. Bei jedem Joomla Update wurde das aber wieder durch die Joomla Vorgabedateien überschrieben. So musste ich immer wieder die Modifikation vornehmen und die "schönen" URLs zu erhalten. Mit Joomla 3.8 ist dies als Feature implementiert worden und so dachte ich ja, dass ich keine Modifikation mehr benötige. Allerdings hat es sich wie im ersten Post beschrieben nicht so verhalten wie ich es angenommen habe.


    Eine Lösung ist gefunden. :) In der Facebook Gruppe hatte jemand den richtigen Ansatz, mit welchem ich das nun auflösen konnte:


    Die Ursache für das Verhalten ist mein verwendeter Menüeintrag-Typ. Vorweg gilt es zu sagen, dass ich eine Kategorie "A" mit Unterkategorien X,Y,Z habe. Als MenüTyp habe ich für die Anzeige der Beiträge den Typ "Hauptbeiträge" gewählt. Da alle Einträge dieser Kategorie samt Unterkategorien Hauptbeiträge sind hat das bisher auch wunderbar funktioniert. Weitere Menüpunkte zu den Beiträgen hatte ich nicht. Mit dem neuen Routing in Joomla 3.8 hat sich hier wohl was verändert.


    Die Lösung bei mir sieht nun wie folgt aus:


    Neuen Menüeintrag des Typs "Kategorieblog" angelegt und auf die Kategorie A verwiesen sowie diesen Menüpunkt auf "Hidden" gesetzt. Das macht man im Register Einstellungen für Menülinks unter Punkt "Display im Menu". Nun kann Joomla die URL ohne Zahlen auflösen. Durch das Hidden ist der Menüpunkt nicht sichtbar, aber funktional. Zwar musste ich mir noch eine weitere Kategorie als Überkategorie von A setzten, doch so klappt es jetzt.


    Da ich in den Unterkategorie X,Y und Z wenig Beiträge habe, werde ich aber in der Tat die Content-Struktur überarbeiten und die wenigen Seiten durch 301 Umleitungen "umziehen", dann ist bald wieder Ordnung.


    An dieser Stelle ein DANKE SCHÖN an alle die hier mit ihren Ideen und Gedanken mich unterstützt haben.

  • [quote='firstlady','https://forum.joomla.de/index.php/Thread/4641-Das-neue-Routing-System-in-3-8x-arbeitet-nicht-wie-es-soll-ID-weiterhin-in-URL/?postID=30305#post30305']Die Lösung bei mir sieht nun wie folgt aus:


    Neuen Menüeintrag des Typs "Kategorieblog" angelegt und auf die Kategorie A verwiesen sowie diesen Menüpunkt auf "Hidden" gesetzt. Das macht man im Register Einstellungen für Menülinks unter Punkt "Display im Menu". Nun kann Joomla die URL ohne Zahlen auflösen. Durch das Hidden ist der Menüpunkt nicht sichtbar, aber funktional. Zwar musste ich mir noch eine weitere Kategorie als Überkategorie von A setzten, doch so klappt es jetzt.


    Hallo,


    ich muss da nochmal nachfragen, ich habe zum Test einen Menüeintrag des Typs "Kategorieblog" erstellt und diesen Kategorie A zugewiesen.


    Nun sieht die URL folgendermaßen aus: test.de/bereich/standort/neuigkeiten/475-baufortschritt


    Ohne den Kategorieblog würde da noch eine ID mehr drin stehen. Wohlgemerkt die URL-Generierung ist auf Kompatibel eingestellt, stelle ich nun die URL-Generierung auf Modern um, sieht die URL wie zu Anfangs bei Dir wieder aus: http://www.baublog-liste.de/bl…einer-anderen-perspektive



    Gruß
    Andreas

  • Hallo zusammen, ich hatte ja bereits in der fb Gruppe ausführlicher geantwortet... hier nochmal eine kurze Zusammenfassung des "Problems".
    Nach meinem eigenen Test konnte ich folgenden Unterschied zwischen dem "kompatiblen" und "modernen" Routing feststellen:


    Der "kompatible" Router erzeugt SEF URLs
    mit nur 1 Menüpunkt "Hauptbeiträge". Es funktioniert für die Beitragstitel-Links, als auch für die angezeigten Kategorie-Namen!


    Der "moderne" Router erzeugt KEINE SEF URLs mit dieser zugegeben minimalen Struktur!
    Man benötigt mindestens einen weiteren Kategorie-Blog Menüpunkt, damit eine SEF URL erzeugt wird.


    Die Frage, die sich stellt: Ist das nun ein Feature oder ein Bug? thinking?(

  • Der "moderne" Router erzeugt KEINE SEF URLs mit dieser zugegeben minimalen Struktur!
    Man benötigt mindestens einen weiteren Kategorie-Blog Menüpunkt, damit eine SEF URL erzeugt wird.

    Diese Variante hat bei mir bisher gut funktioniert, aber auf einmal...ich weiß nicht warum, klappt diese Variante auch nicht mehr.


    Ich kann aktuell die Beiträge über die "schöne" URL immer noch aufrufen, aber u.a. bei mir in den Newsbereichen wird die "unschöne" URL angezeigt.

    Leider kann ich nicht sagen, was diesen Fehler nun auslöst, da mir das erst jetzt aufgefallen ist.

  • So Problem gelöst...schneller als gedacht, aber nur durch Zufall. :)


    Das Problem war, dass ich den Menüpunkten (vom Kategorieblog) eine Sprache zugeordnet hatte (was zuvor nicht der Fall war), sobald ich die Sprache wieder auf "Alle" gestellt hatte, wurden die Links wieder richtig angezeigt.