Results 1 to 7 of 7

Thread: mod_rewrite

  1. #1
    dreamworker.de Senior
    Join Date
    04/2007
    Location
    Düsseldorf
    Posts
    492

    mod_rewrite

    Hallo,

    ich weiß, es gibt sehr viele Posts zu diesem Thema aber ich werd aus meinem Problem nicht schlau... Folgender Code sei gegeben:

    Code:
    RewriteRule ^sedcard sedcard/index.php?page_id=2
    Bedeutet für mich, dass wenn die Url "www.musterdomain.de/sedcard/" aufgerufen würde, auf die Seite "/sedcard/index.php?page_id=2" umgeleitet würde. Das funktioniert auch, php übergibt mir den passenden Parameter. Rufe ich aber die Seite

    "www.musterdomain.de/sedcard" (ohne "/")

    auf, wird der Parameter zwar ebenfalls richtig übergeben, aber hinter der Domain in der Adresszeile steht dann

    "www.musterdomain.de/sedcard/?page_id=2"

    Kan man das vermeiden? Gibt es eine Möglichkeit dem apache zu sagen, dass er nur nach "sedcard" suchen soll und alles was danach steht egal ist? Ich könnte natürlich einfach noch eine weitere Zeile mit

    Code:
    RewriteRule ^sedcard/ sedcard/index.php?page_id=2
    einfügen, aber das find ich irgendwie blöd und schlechter Stil.
    Danke für die schnelle und immer sehr gute Hilfe :-)

  2. #2
    dreamworker.de Experte Günter Schenk's Avatar
    Join Date
    03/2011
    Location
    Wuppertal
    Posts
    375

    AW: mod_rewrite

    Hallo,

    da eine rewriterule ohnehin auf regulären Ausdrücken (regular expressions aka regex) basiert, sollte es theoretisch möglich sein, den abschließenden forward slash (/) als optional zu kennzeichnen:

    RewriteRule ^sedcard(/)? sedcard/index.php?page_id=2

    Funktioniert das ?

    Günter

  3. #3
    dreamworker.de Senior
    Join Date
    04/2007
    Location
    Düsseldorf
    Posts
    492

    AW: mod_rewrite

    Vielen Dank für Deine Hilfe, aber leider besteht das Problem weiterhin. Ich guck die ganze zeit schon, was google dazu hergibt, aber irgendwie scheint außer mir keiner das Problem zu haben...

  4. #4
    dreamworker.de Experte Günter Schenk's Avatar
    Join Date
    03/2011
    Location
    Wuppertal
    Posts
    375

    AW: mod_rewrite

    Na OK, aber mal Hand auf´s Herz: sofern die in deinem ersten Post genannte zweite rewriterule - Zeile (siehe "blöd und schlechter Stil") zum gewünschten Ergebnis führt, würde ich selber sowas ganz pragmatisch einbauen und gut ist.

    Günter

  5. #5
    dreamworker.de Senior
    Join Date
    04/2007
    Location
    Düsseldorf
    Posts
    492

    AW: mod_rewrite

    mh... irgendwie "seltsam", denn bei

    Code:
    RewriteRule ^video/ video/index.php?page_id=1
    macht er alles richtig, egal ob der link mit oder ohne "/" angegeben wird...

  6. #6
    dreamworker.de Experte Günter Schenk's Avatar
    Join Date
    03/2011
    Location
    Wuppertal
    Posts
    375

    AW: mod_rewrite

    ...macht er alles richtig, egal ob der link mit oder ohne "/" angegeben wird
    Naja, das ist in der Praxis ja schön, aber streng genommen ist das nicht "richtig", weil es vermuten lässt, dass der "trailing slash" von der Rewrite Engine überhaupt nicht geparst wird, was unter anderen Umständen zu Problemen führen kann.

    Da ich URL Rewriting auch nur gelegentlich einsetze, bin ich bei diesem Thema auch nicht der große Held -- aber ich habe mal ein bisserl recherchiert und herausgefunden, dass das Hauptproblem bei deinen aktuellen RewriteRules darin bestehen kann, dass jedem "Vorher - Pattern" ein abschließendes $ - Zeichen fehlt, welches der Engine begreiflich macht, dass der zu analysierende String an dieser Stelle tatsächlich endet und danach nix mehr kommt.

    Demzufolge müsste deine zuletzt genannte RewriteRule eigentlich so notiert werden:

    RewriteRule ^video/$ video/index.php?page_id=1

    ...damit der trailing slash auch einbezogen wird.

    Funktioniert das ??

    Günter

  7. #7
    dreamworker.de Senior
    Join Date
    04/2007
    Location
    Düsseldorf
    Posts
    492

    AW: mod_rewrite

    Anzeigen:
    Webhosting ab 3,99 €
    Morgen,

    ja, Deine Lösung scheint zu funktionieren. Ich habe es jetzt so gelöst, dass grundsätzlich der "trailing slash" gesetzt wird, sofern er nicht gesetzt ist. Werd mir die apache-Doku nochmal genau ansehen, ist nur so viel zu lesen... und mit regulären Audrücken hab ichs auch nicht so, aber das kommt jetzt langsam.

    Danke für die Unterstützung und einen angenehmen Sonntag!

Similar Threads

  1. [asp] mod_rewrite
    By Kapetanov in forum PHP, ASP, SSI & CF
    Replies: 0
    Last Post: 10.03.2006, 11:33
  2. Dynamisch: Hyperlinks prüfen + mod_rewrite
    By heidewind in forum Adobe Dreamweaver
    Replies: 1
    Last Post: 19.08.2005, 20:26
  3. mod_rewrite
    By mister_ix in forum Serverseitige Programmierung
    Replies: 7
    Last Post: 22.04.2004, 19:50

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •