Ergebnis 1 bis 4 von 4

Thema: Saubere Ordner-URLs

  1. #1
    Contao-Nutzer
    Registriert seit
    11.09.2016.
    Beiträge
    79

    Standard Saubere Ordner-URLs

    Hallo liebe Community,

    ich habe eine kurze Frage zum Thema „auto_item“ bzw. Ordner URLs benutzer- und suchmaschinenfreundlich zu gestalten.

    Situation: Ich habe eine Seite (FE) auf der Benutzerprofile angezeigt werden sollen: www.domain.de/profile/member/membername_xyz
    „profile“ ist hierbei eine in der Seitenstruktur angelegte Seite, die ein Modul beinhaltet, das später die übergebenen Parameter (hier „member => mambername_xyz“) verwendet um die Informationen zu dem jeweiligen Member darzustellen.
    Ich habe in den Einstellungen die Optionen „URLs umschreiben“, „Auto_item aktivieren“ und „Ordner-URLs verwenden“ aktiviert, die URL-Suffixe entfernt und durch die htaccess dafür gesorgt, dass alle Seiten bereits „sauber“ nach dem Schema www.domain.de/seite aufgerufen werden können.

    Ich verwende die Funktion generateFrontendUrl() um die Links zu den verschiedenen Profilseiten zu erstellen:
    PHP-Code:
    $this->generateFrontendUrl($objPage->row(),'/member/membername_xyz); 

    Über
    PHP-Code:
    \Input::setGet('member', \Input::get('member'));
     
    $member = \Input::get('member'); 
    Kann ich den übergebenen Membernamen auch korrekt auslesen und die Seite wird ohne eine 404 Fehlermeldung generiert.

    Problem: Ich möchte die Seite nicht wie im Moment über www.domain.de/profile/member/membername_xyz aufrufen, sondern über die verkürzte Schreibweise www.domain.de/profile/membername_xyz
    Den Key zu dem jeweiligen (Get-) Value möchte ich also nicht in der URL stehen haben.
    Ich habe schon mit einigen Erweiterungen (contao-urlcleaner und ia_cleanurl) herumgespielt, kam jedoch nicht zum gewünschten Ergebnis. Zum einen melden die Erweiterungen, dass sie nicht kompatibel mit meiner Contao Version (3.5.9) sind und zum anderen erhalte ich immer die Meldung, dass die Seite nicht gefunden wurde, wenn ich anschließend einen der Links aufrufe.

    Anmerkung: Der Key „member“ wird durch die genannten Erweiterungen in der URL korrekt entfernt, das Wiederherstellen der URL scheint jedoch nicht zu funktionieren.

    Frage: Hat jemand eine Idee oder einen Lösungsansatz, wie ich besagtes Problem bereinigen kann? Grundsätzlich würde ich auf externe Erweiterungen gerne verzichten wollen. Es geht mir lediglich darum, die URL im Format www.domain.de/profile/membername_xyz zu erhalten und den übergebenen Parameter „membername_xyz“ auslesen zu können.


    Vielen Dank schon mal und schöne Grüße

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Zitat Zitat von *igi* Beitrag anzeigen
    Es geht mir lediglich darum, die URL im Format www.domain.de/profile/membername_xyz zu erhalten und den übergebenen Parameter „membername_xyz“ auslesen zu können.
    Vielleicht eine Apache Rewrite Regel, die das auf etwas wie http://www.domain.de/profile/member....membername_xyz umschreibt. Dann wäre Dein Anzeige-Module auf der Seite member eingebaut und Du könntest über \Input::get('name') auf den Parameter zugreifen.

    Disclaimer: Vielleicht habe ich Dein Problem aber auch nicht ganz verstanden.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.126
    Partner-ID
    10107

    Standard

    Im getPageIdFromUrl Hook kannst du die Fragmente analysieren, dementsprechend mit \Input::set('…',…); Input Variablen setzen und am Schluss eine Page ID bzw. einen Page Alias zurückgeben.

  4. #4
    Contao-Nutzer
    Registriert seit
    11.09.2016.
    Beiträge
    79

    Standard

    Super, vielen Dank.
    Ich habe mir den genannten Hook einmal genauer angesehen und die URL dann so abgefangen und umgeschrieben, dass es jetzt passt.
    Eine Rewrite Regel in der .htaccess ginge vermutlich auch. Da ich auf diesem Gebiet allerdings kein Profi bin, ist mir die Option mit dem Hook etwas lieber gewesen.

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
  •