Zum Inhalt springen

RealURL und RewriteRules

Erstellt am 8. Januar 2012 · 4 Antworten · letzte Antwort am 11. Januar 2012

Tags: RealURL, URLs & Routing, Frage

Creattic ·

Hallo People,

stöbere nun eine ganze Weile im Netz und bin leider zu keinem Ergebnis gekommen.

Habe ein laufenden Projekt in dem RealURL zum Einsatz kommt. Da ich mich leider noch nicht so wirklich mit RealURL auseinander gesetzt habe ergo frisch damit in Kontakt gekommen bin weiß ich einfach nicht weiter.

Habe URLS zu einer Detailpage die z.B.

http://www.domain.de/service/profil/?tx_myext[id]=123

lauten, diese funktionieren, sind für mich aber vom Aufbau her nicht befriedigend. Ein Wünschenswerter Aufbau wäre

http://www.domain.de/profil-name-ort.html

Grundsätzlich habe ich schon den für mich einfachsten Weg probiert.
.htaccess eine Rule angelegt die quasi profil-name-ort.html auf /service/profil/?tx_myext[​url]=name-ort
umschreibt. Hierbei bekomme ich leider immer nur den Fehler das File profil-name-ort.html nicht existiert.

Gibt es überhaupt die Möglichkeit die URLs umzuschreiben trotz RealURL?
Welche Möglichkeit habe ich um entsprechend gewünschte URLs für das System lauffähig zu bekommen?

Über Antworten würde ich mich freuen.

MfG
Creattic

skydivematy ·

Hallo Creattic,
welche Extension ist auf Dieser Seite integriert? {tx_myext[id]}

tt_news ?
tt_address?
oder auch andere müssen in der realurl_config.php konfiguriert werden damit es eine schöne URL gibt.
gruss
maty

Creattic ·

Hi Maty,

hier kommt eine eigene entwickelte Extension zum Einsatz, bislang funktioniert das ganze ja auch wunderbar mit den alten URLs, die aber künftig kürzer sein sollen. Um es mal auf den Punkt zu bringen:

Die Extension ist eingebunden unter URL

http://www.domain.de/service/profil/

hier werden aus den Suchergebnissen halt die unterschiedlichen Parameter einfach hinten dran gehängt á la

http://www.domain.de/service/profil/?tx_myext[func]=1,tx_myext[id]=1234

func steuert das Ereigniss quasi Profil anzeigen oder was anderes und id steht halt für den einzelnen Eintrag um den es geht.

Künftig soll das ganze absolut leserlich zwecks SEO sein á la

http://www.domain.de/profil-NAME-TYP-ORT.html

Hierbei soll Profil stellvertretend für die func stehen und die Kombi aus Name, Typ und Ort entsprechend als verschlüsselte eindeutiger md5 key zur identifikation in der DB stehen.

Ich generiere mir halt aus der Kombi NAME-TYP-ORT ein sauberen URL-String bilde die md5, speicher die als seo_url und prüfe die beim Aufruf gegen. Die Verarbeitung klappt auch wenn ich die alte URL nehmen und die info dranhänge á la

http://www.domain.de/service/profil/?tx_myext[seo_url]=NAME-TYP-ORT

Im Script fange ich den Case ab und übersetze das ganze dann zur ID um dann damit weiter zu arbeiten.

Normal würde ich das ganze ganz einfach per Rewrite in der .htaccess machen so dass lediglich das System die Weiterverarbeitung im Hintergrund macht und der Besucher bzw. Bot quasi die saubere URL sieht
dazu habe ich folgende Rule

RewriteRule ^profil-(.*)\.html /service/profil/?tx_myext[seo_url]=$1

Hänge ich ein 301 dran, sieht es korrekt aus, aber die URL soll sich ja nicht ändern,
sondern im neuen Stil bestehen bleiben, zumindestens für den Besucher.

Klappen tut es aber nicht, TYPO sagt das File profil-NAME-TYP-ORT.html gibt es nicht.

Welche Möglichkeiten habe ich nun dass dat System mir die profil-NAME-TYP-ORT.html so verarbeitet?

LG
Creattic

skydivematy ·

Hallo Creattic,
das ganze musst Du schon in der realurl_conf.php machen. Nicht in der .htaccess file.
Schau dir doch mal an wie das tt_news macht. Sollte doch eigentlich in deiner realurl conf drinne sein, wenn nicht, google mal danach.
gruss
maty

Creattic ·

Hi Maty,

thx nochmal für den Support.

Auch wenn es für mich sehr enttäuschend ist dass RealUrl offensichtlich nicht, durch .htaccess bzw. mod_rewrite welches ja auf der Serverebene schon eingreift, auszuhebeln ist.

Hätte mir verdammt viel Arbeit, Sorgen und Text erspart.

Hab mich nun zwangsläufig mit RealURL auseinandersetzen müssen. Habe mir soweit auch eine Postvar eingerichtet die für die Übergabe der ID sorgt in rellation zu einem DB-Field, klappt auch.

Die Situation:

http://www.domain.tld/PATH/profil/name-typ-ort.html -> soll das profil darstellen wobei name-typ-ort.html zur ID aufgelöst wird. Als Indikator für das einfache anzeigen dient hier /profil/

Wenn ich nun sage ich möchte bei http://www.domain.tld/PATH/rate/name-typ-ort.html z.B. /rate/ als indikator dafür nehmen name-typ-ort.html zu bewerten, kann ich das Set irgendwie weitere feste variablen
übergeben lassen oder müsste ich dafür die url wieder verlängern?

.htaccess hätte ich z.B.

http://www.domain.tld/profil/name-typ-ort.html zu
http://www.domain.tld/PATH/profil/name-typ-ort.html?tx_myext[seo_url]=name-typ-ort&tx_myext[action]=1

und

http://www.domain.tld/rate/name-typ-ort.html zu
http://www.domain.tld/PATH/rate/name-typ-ort.html?tx_myext[seo_url]=name-typ-ort&tx_myext[action]=2

umschreiben lassen leider braucht RealURL hier ein paar mehr infos wie PATH um den weg zu finden.

Nun brauche ich eine Lösung die es mir erlaubt weitere fixe vars mit zu übergeben.

LG
Creattic