Ergebnis 1 bis 15 von 15

Thema: "Statische" URIs mit mod_rewrite

  1. #1
    Contao-Nutzer
    Registriert seit
    03.07.2009.
    Beiträge
    4

    Standard "Statische" URIs mit mod_rewrite

    Hi,

    wir suchen seit längerem nach einer Möglichkeit, URIs der folgenden Form:

    /modul/12345

    anstatt

    /modul/?id=12345 (oder /modul/items/12345)

    mit Typolight zu ermöglichen

    Wir haben mit mod_rewrite schon einiges ausprobiert unter anderem diese Regel :

    RewriteCond %{REQUEST_URI} .*/modul/[0-9]+$
    RewriteRule .*/modul/([0-9]*)$ index.php/modul/?id=$1

    Wenn man dann die URI http://localhost/tl/modul/12345 aufruft matched die Regel und mit einem eigenen index.php (nur testweise) kann man sogar via _GET['id'] auf den Query String Parameter 'id' zugreifen.

    In Typolight kommt aber leider immer die Browser URI (http://localhost/tl/modul/12345) an (laut Log), statt der durch Apache umgeschriebenen URI. Anscheinend kommt sie von $_SERVER['Request_URI'] (das ist leider die Original URI, nicht die umgeschriebene).

    Gibt es eine Möglichkeit unser Problem zu lösen, oder müsste man da Typolight umbauen ?

    Vielen Dank für eure Hilfe, ich hoffe ich habs irgendwie verständlich formuliert

    lg

  2. #2
    Contao-Nutzer Avatar von david enke
    Registriert seit
    26.06.2009.
    Beiträge
    96

    Standard

    das problem habe ich bei mir ähnlich:

    ich nutze am mac mamp (a lá xampp) und habe trotz aktiviertem mod_rewrite probleme die urls derart umzuschreiben, feste regelungen wie:

    RewriteEngine on
    RewriteBase /

    RewriteRule ^([_a-zA-Z0-9-]+)$ index.php?a=$1
    RewriteRule ^([_a-zA-Z0-9-]+)/$ index.php?a=$1
    RewriteRule ^([_a-zA-Z0-9-]+).html$ index.php?a=$1
    RewriteRule ^([_a-zA-Z0-9-]+)/([_a-zA-Z0-9-]+)$ index.php?a=$1&b=$2
    RewriteRule ^([_a-zA-Z0-9-]+)/([_a-zA-Z0-9-]+)/$ index.php?a=$1&b=$2
    RewriteRule ^([_a-zA-Z0-9-]+)/([_a-zA-Z0-9-]+).html$ index.php?a=$1&b=$2

    usw. funktioneren aber.

    mal online probiert?

  3. #3
    Contao-Nutzer
    Registriert seit
    03.07.2009.
    Beiträge
    4

    Standard

    hi david, danke für den tip. habs bis jetzt auch nur unter windows (xampp) versucht. jetzt allerdings auch unter linux. funktioniert leider auch nicht. ein käse

  4. #4
    Contao-Fan Avatar von mandrake
    Registriert seit
    19.06.2009.
    Ort
    Düsseldorf
    Beiträge
    461

    Standard

    Hallo Akademiker,

    diese Aufgabenstellung lässt sich nicht mittels mod_rewrite, sondern vielmehr nur über eine Anpassung der jeweils betroffenen TYPOlight-Klasse(n) lösen.

    Allerdings gebe ich zu bedenken, dass diese Änderungen nicht dem TYPOlight-Standard entsprechen würden und im Einzelfall zu Problemen mit anderen Modulen oder Erweiterungen führen können. Problematisch könnte es auch dann werden, wenn Leo sich in der Zukunft dazu entschließen sollte die zugrunde liegende Logik im Kern zu verändern.

    MfG
    Peter

  5. #5
    Contao-Nutzer
    Registriert seit
    03.07.2009.
    Beiträge
    4

    Standard

    Alles klar, vielen Dank für Deine Antwort.

  6. #6
    Contao-Urgestein Avatar von FloB
    Registriert seit
    19.06.2009.
    Ort
    Sonnensystem
    Beiträge
    1.618

    Standard

    Zitat Zitat von mandrake Beitrag anzeigen
    Allerdings gebe ich zu bedenken, dass diese Änderungen nicht dem TYPOlight-Standard entsprechen würden und im Einzelfall zu Problemen mit anderen Modulen oder Erweiterungen führen können. Problematisch könnte es auch dann werden, wenn Leo sich in der Zukunft dazu entschließen sollte die zugrunde liegende Logik im Kern zu verändern.
    Naja, das News- und Eventmodul nutzen eine veränderte URI – mit dem Zusatz /item/. So kann man das am Besten umsetzen. Und mit der Gefahr, dass die im Kern liegende Logik geändert wird, kann ich leben – da das die nächsten Monate oder Jahre sicher nicht passieren wird .
    So long,
    FloB since Nov. 2007 +706P +115P and counting

  7. #7
    Contao-Fan Avatar von mandrake
    Registriert seit
    19.06.2009.
    Ort
    Düsseldorf
    Beiträge
    461

    Standard

    Hallo Flob,

    die URI-Bestandteile wie bspw. "items" oder "events" werden durch die jeweiligen Klassen in TYPOlight generiert. Akademiker möchte aber nun genau diese URI-Bestandteile gerne entfernen - zumindest wenn ich seine Fragestellung korrekt interpretiert habe. Dies würde dann naturgemäß eben nicht mehr dem TYPOlight-Standard entsprechen.

    Eine Umbenennung dieser URI-Bestandteile oder deren vollständige Entfernung ist aber natürlich prinzipiell möglich und machbar. Dies könnte dann jedoch in Einzelfällen zu unabsehbaren Komplikationen in der Funktionalität oder Kompatibilität bei anderen Modulen oder Erweiterungen führen.

    Wir haben etwas Vergleichbares in der Vergangenheit bereits für die Klasse "pagination" umgesetzt. Dabei haben wir aus dem Standard

    Code:
    nachrichten.html?page=2
    URI wie bspw. die folgenden beiden Typen generiert:

    Code:
    nachrichten/page/2.html
    oder

    Code:
    nachrichten/seite-2
    Dies hat wunderbar und ohne Probleme funktioniert.

    Und mit der Gefahr, dass die im Kern liegende Logik geändert wird, kann ich leben – da das die nächsten Monate oder Jahre sicher nicht passieren wird.
    Ich glaube Leo selbst hat diesen Sachverhalt in einer früheren Diskussion zu dieser Thematik angeführt. Aus diesem Grund teile ich Deine Zuversicht in diesem Punkt nicht zu Hundert Prozent. Allerdings halte ich eine Änderung der betreffenden Logik auch für eher unwahrscheinlich. Zudem könnten in diesem Fall wahrscheinlich einfach entsprechende Anpassungen der eigenen URI-Modifikationen durchgeführt werden.

    MfG
    Peter

  8. #8
    Gesperrt
    Registriert seit
    08.10.2009.
    Ort
    Schwürbitz
    Beiträge
    187

    Frage

    Hallo mandrake,
    Hallo Community,

    was mandrake im letzten Post beschreibt suche ich aktuell für die Events. Wie bekomme ich die pagination in eine schöne URL (.../page/2.html) verwandelt?

    Danke und Gruß
    Frank

  9. #9
    Contao-Nutzer
    Registriert seit
    15.07.2009.
    Beiträge
    15

    Standard

    An der Lösung, die Paginierung in statische URLs zu verwandeln, wäre ich auch interessiert!

    Danke & viele Grüße!

  10. #10
    Contao-Nutzer
    Registriert seit
    01.04.2011.
    Ort
    nähe Duisburg
    Beiträge
    14

    Standard

    Hi, ich habe aktuell auch dieses Problem. Wäre es möglich die Lösung hier zu posten?

  11. #11
    AG Core-Entwicklung
    Registriert seit
    16.10.2009.
    Ort
    Bad Lausick
    Beiträge
    437

    Standard

    schau mal die Erweiterung urlcleaner an...
    Ihr Partner für Contao und Webentwicklung: http://www.hofff.com.

  12. #12
    Contao-Fan
    Registriert seit
    22.06.2009.
    Ort
    Düsseldorf
    Beiträge
    471

    Standard

    Der Url-Cleaner gilt aber nur für News? Ich suche auch eine Möglichkeit anstatt /aktuelles.html -> /aktuelles/ darzustellen. Also mich stört nur das ".html"

  13. #13
    Contao-Fan Avatar von Silvano
    Registriert seit
    12.09.2010.
    Ort
    Zürich, Schweiz
    Beiträge
    326
    Partner-ID
    7631

    Standard

    Zitat Zitat von wiese Beitrag anzeigen
    Der Url-Cleaner gilt aber nur für News? Ich suche auch eine Möglichkeit anstatt /aktuelles.html -> /aktuelles/ darzustellen. Also mich stört nur das ".html"
    Da wäre "folderurl" deine gesuchte Erweiterung

  14. #14
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn nur das .html weg soll kann man das in den Einstellungen machen ohne irgendeine Erweiterung. Dann muss natürlich die .htaccess auch angepasst werden (wie steht da drinn).

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  15. #15
    AG Core-Entwicklung
    Registriert seit
    16.10.2009.
    Ort
    Bad Lausick
    Beiträge
    437

    Standard

    In der .htaccess sollte man auch drauf achten, das immer automatisch auf die kanonische form weitergeleitet wird:
    http://www.domain.tld/start/
    ODER
    http://www.domain.tld/start

    (funktionieren sollten beide)
    Ihr Partner für Contao und Webentwicklung: http://www.hofff.com.

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 04.03.2011, 16:49
  2. Antworten: 0
    Letzter Beitrag: 25.08.2010, 20:13
  3. Mod_Rewrite - Unterverzeichnis "Stats" funktioniert nicht
    Von micstepper im Forum Erfahrungen mit Webhostern
    Antworten: 10
    Letzter Beitrag: 06.08.2010, 14:02
  4. "parallele" Navigation mit "active" bzw. "trail" Klasse?
    Von Reimi im Forum Layout / Templates / Holy Grail
    Antworten: 6
    Letzter Beitrag: 22.12.2009, 08:57

Lesezeichen

Lesezeichen

Berechtigungen

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