RealUrl: Umlaute weiterleiten

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    16. 04. 2012, 13:47

    Hallo,

    ich habe eine Extension, bei der dynamisch Ortsseiten angezeigt werden (www.domain.de/ort/luebeck.html). Ein Aufruf von http://www.domain.de/ort/lübeck.html findet zwar in der lookup-table einen Eintrag (obwohl dort nur 'luebeck' steht), soll er aber gar nicht. Ich möchte /lübeck.html immmer auf /luebeck.html umleiten, bzw soll realUrl das machen.

    In meiner localconf steht dafür:

    1. 'GETvar' => 'tx_myext_pi1[city]',
    2. 'lookUpTable' => array(
    3. 'table' => 'tx_myext_city',
    4. 'id_field' => 'uid',
    5. 'alias_field' => 'title',
    6. 'useUniqueCache' => 1,
    7. 'useUniqueCache_conf' => array(
    8. 'strtolower' => 1,
    9. 'spaceCharacter' => '-'
    10. )
    11. )
    12. ),

    Jemand eine Idee, wie ich mein Ziel erreiche?
    Besten Dank,

    Sven


  • 1
  • karlchen karlchen
    Jedi-General
    0 x
    1433 Beiträge
    30 Hilfreiche Beiträge
    17. 04. 2012, 21:58

    hallo

    gibst du die URL lübeck.html per Hand ein oder lässt du diese generieren ? RealUrl sollte nämlich nur umlaut-lose URLs generieren. Wenn mich nicht alles täuscht, wird jede Anfrage die an RealUrl gestellt wird, intern ersteinmal zerlegt und Umlaute umgewandelt, dann kommt erst die Anfrage an die Datenbank und dann die Ausgabe.
    RealUrl unterscheidet somit nicht zwischen lübeck.html und luebeck.html.
    Was funktionieren könnte wäre eine Weiterleitung per htaccess in dem du dort bei allen Anfragen die Umwandlung der Umlaute selbst vornimmst. TYPO3 bekommt dann sozusagen nur noch die ü->ue umgewandelten Urls.

    Falls du da keinen Zugriff hast sollte es eigentlich auch mit der realURL Funtkion redirects_regex funktionieren. Schau dir dazu mal die Beispiele im Manual an. Dort kannst du eine reguläre Expressions für die redirects verwenden, sollte somit eigentlich machbar sein.

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    18. 04. 2012, 08:34

    Hallo,
    danke erstmal für Deine schnelle und ausführliche Antwort :)

    Die URLs werden natürlich generiert, aber hin und wieder kommt es vor, dass Google selbst was ausprobiert (wenn man im Pager zb /seite-2/ ha, testet Google, ob es auch /seite-534/ gibt und ob es korrekte Fehlermeldungen gibt), aber auch das Redakteure einen falschen Link weitergeben oder Partner einen falschen Link aufrufen. Und wenn Google erstmal auf dem Ü-Trichter gekommen ist, bekommt man ihn schlecht wieder los.

    htaccess-Weiterleitung hat irgendwie nicht funktioniert, sagt unser Server-Admin, wenn Du da ein passendes Beispiel hast, wäre ich sehr dankbar.

    redirect_regex schau ich mir mal genauer an, wenn ich ein Ergebnis habe, poste ich hier.

    Danke und viele Grüße,
    Sven

  • karlchen karlchen
    Jedi-General
    0 x
    1433 Beiträge
    30 Hilfreiche Beiträge
    18. 04. 2012, 22:59

    hi,

    ein Beispiel für die .htaccess habe ich leider nicht, war auch nur so ein Gedanke.

    Mir ist da aber noch was eingefallen, wenn mich nicht alles täuscht gibt es in RealUrl einige Hooks die man nutzen kann um eine URL vor dem encoding oder decoding zu ändern.
    Theoretisch könnte man hier die URL ändern, bzw. wenn ein Umlaut gefunden wird, das Skript abbrechen und einen redirect mit 301 einbauen.

  • 1