Contao-Camp 2024
Ergebnis 1 bis 6 von 6

Thema: Rewrite URL - Inhalte anzeigen

  1. #1
    Contao-Nutzer
    Registriert seit
    16.03.2016.
    Beiträge
    37

    Frage Rewrite URL - Inhalte anzeigen

    Hallo zusammen!

    Folgendes versuche ich gerade zu realisieren:
    Auf der Seite www.domain.de/elfen soll der Inhalt angezeigt werden, der zu finden ist wenn man www.domain.de/?g=elfen eingibt...
    Allerdings gibt es die Seite "Elfen" nicht. Ich bekomme nun immer einen 404-Fehler.

    Ist das irgendwie umsetzbar, ohne das die Seiten angelegt werden müssen?

    Danke für eure Hilfe und ein schönes Wochenende

  2. #2
    Contao-Fan
    Registriert seit
    20.10.2012.
    Ort
    Berlin
    Beiträge
    257

    Standard

    Wenn's die Seite "elfen" nicht gibt würde ich tippen, du brauchst eher ein Redirect auf "/?g=elfen" und lebst mit dem, was danach in der Adresszeile steht.
    Ansonsten müsstest du wohl spezielle Routen (statt Seiten) anlegen.

  3. #3
    Contao-Nutzer
    Registriert seit
    16.03.2016.
    Beiträge
    37

    Standard

    Zitat Zitat von andre.saage Beitrag anzeigen
    Ansonsten müsstest du wohl spezielle Routen (statt Seiten) anlegen.
    Hallo andre.saage, danke für deine Rückmeldung!
    In die Routen muss ich mich dann mal einlesen. Das geht dann aber auch mit Variablen? Das die "Seite" immer als Parameter g genommen wird?
    www.domain.de/{{variable}} == www.domain.de/?g={{variable}}

    Vielen Dank!

  4. #4
    Contao-Fan
    Registriert seit
    20.10.2012.
    Ort
    Berlin
    Beiträge
    257

    Standard

    Kann ich dir aus dem Stehgreif auch nicht so genau sagen - ich denk du brauchst dann einen eigenen Controller dafür den du dann an die Route klemmst.
    Wenn du das mit Variablen vor hast befürchte ich aber, dass du dann gar keine "Seiten" mehr benutzen kannst weil ja dann alles als Variable interpretiert wird und nicht als Seitenalias.
    Klingt irgendwie ein bisschen wild ohne zu wissen was du genau vor hast.
    Wenn die kompletten Seiten um die es sich handelt letztendlich gar nichts mit Contao zu tun haben sondern von einem anderen System/Domäne/Port erzeugt werden würde ich wahrscheinlich einfach einen Reverseproxy vorschalten - erfordert dann aber immer noch eine gute Portion regex-magic.
    Will dich aber nicht auf den falschen Pfad schicken - wie gesagt Hintergrund-infos sind ein bisschen spärlich um was konkretes zu empfehlen.

  5. #5
    Contao-Nutzer
    Registriert seit
    16.03.2016.
    Beiträge
    37

    Standard

    Edit: Gerade habe ich gelernt, dass ich die Seite ja auch folgendermaßen aufrufen kann: www.domain.de/index/g/{{variable}} und dann auf der Seite nur noch ein
    HTML-Code:
    Input::get('g')
    unterbringen muss.

    Dann gibt es noch mehr Hintergrund-Infos ;-)

    In diesem Projekt brauchen wir Contao für die Dateiverwaltung. Wir haben in Contao eine Index-Seite angelegt und aus den angelegten Galerieordnern in der Dateiverwaltung wird ein Menü erstellt. Da wir nicht wissen wie viele es mal werden, haben wir das über diesen Parameter gelöst - g={{galerieordner}} - und dann wird auf der (Start-)Seite auch nur die Galerie und die Überschrift geändert. Jetzt sollen die URL's aber "hübsch" sein.

    Gedacht habe ich, dass das mit diesem Aufruf über die .htaccess klapp:
    RewriteRule ^(.*)$ index.php?g=$1&%1 [L]
    Nur leider bekomme ich dann immer den 404-Fehler, weil es ja die Seite nicht gibt.

    Ich werde jetzt das Routing mal testen!
    Geändert von RoTo (11.07.2022 um 11:10 Uhr)

  6. #6
    Contao-Fan
    Registriert seit
    20.10.2012.
    Ort
    Berlin
    Beiträge
    257

    Standard

    Ich denk' mit einer custom-route wär das machbar.
    Alternativ kannst du vielleicht auch den Gallerie-part so umschreiben, dass er mit dem auto_item arbeitet anstatt mit einem Queryparameter: wenn das bereits ein Modul ist sollte das nicht so aufwendig sein.
    In beiden Fällen würde ich das aber nicht unbedingt mit der index-seite bzw. der / route machen weil bsp: domain.de/impressum dann krampfhaft versucht eine Impressumsgallerie zu laden.
    Url-encoding/Ordnernamen und verschachtelte Gallerieordner sind dann möglicherweise auch noch Problemchen, die es zu lösen gilt.

    Hast du mal probiert, eine 404-Seite anzulegen und dein Galleriemodul da drauf zu platzieren?
    Sicher nicht Ideal wegen dem Statuscode aber dann hättest du eine Vorlage für einen Pagecontroller und siehst ob das mit deiner RewriteRule so hinhaut.

    Edit:
    \Input::get('auto_item') dann brauchst du auch das g nicht mehr (bzw. kannst g als Seitenalias verwenden)
    Geändert von andre.saage (11.07.2022 um 11:34 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •