Master: Umleitungen mit mod_rewrite

Hey Leute,
ich hab ein kleines Problem und zwar würde ich gerne mit mod_rewrite umleiten. Leider kenn ich mich mit mod_rewrite garnicht aus und wüsste nicht wirklich wie ich die Regel verfassen müsste. Also ich würde gerner alle Anfragen von:

downloads/index.php?download=1

umleiten auf

index.php?site=download/index&download=1

Wobei die Zahl am Ende variiren kann, also sollte diese auch beachtet werden.

Danke schon mal...

Mfg

  1. Hi,

    ich hab ein kleines Problem und zwar würde ich gerne mit mod_rewrite umleiten. Leider kenn ich mich mit mod_rewrite garnicht aus

    Dann ändere das. http://www.google.de/search?q=mod+rewrite

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Dann ändere das. http://www.google.de/search?q=mod+rewrite

      Also nachdem ich mir jetzt ein paar Beispiele angesehn habe sollte die Rule so lauten:
      RewriteRule ^downloads/index.php?download=([0-9]+)$ index.php?site=download/index&download=$1

      Leider funktioniert diese aber nicht, ich habs von hier abgelietet:
      RewriteEngine on
      RewriteRule ^seite_([0-9]+).html$ seite.php?id=$1

      1. Moin!

        Dann ändere das. http://www.google.de/search?q=mod+rewrite

        Also nachdem ich mir jetzt ein paar Beispiele angesehn habe sollte die Rule so lauten:
        RewriteRule ^downloads/index.php?download=([0-9]+)$ index.php?site=download/index&download=$1

        Leider funktioniert diese aber nicht, ich habs von hier abgelietet:
        RewriteEngine on
        RewriteRule ^seite_([0-9]+).html$ seite.php?id=$1

        Nein, der Query-String (der Teil hinter dem Fragezeichen) wird von der RewriteRule gar nicht ausgewertet, dort kommt nur der Pfad-Teil der URL an.

        Wenn du dort aber die URL so änderst, dass das Resultat am Query-String was verändert, musst du das Flag [QSA] hinter die Regel packen (query string append).

        RewriteRule ^downloads/index.php$ index.php?site=download/index [QSA]

        Wenn dir wichtig ist, unbedingt den Parameter download im Query-String auszuwerten, dann gehört das in eine RewriteCond in die Zeile davor.

        - Sven Rautenberg

        1. RewriteRule ^downloads/index.php$ index.php?site=download/index [QSA]

          Die Tipps haben mir auf jedenfall schon mal super weitergeholfen.
          Du hattest ein Fehler in der Rule:
          RewriteRule ^downloads/index.php$ index.php?site=downloads/index [QSA]

          Jetzt hab ich aber noch das Problem das überall vor den Bildern steht:

          http://www.seite.de/downloads/style/bilder/bild_08.jpg

          und es aber heißen müste:

          http://www.seite.de/style/bilder/bild_08.jpg
          Bekommt man das auch irgend wie weg? Also müß ich das im Quelltext lösen oder kann man das auch mit einer Rul ändern?

          1. Moin!

            RewriteRule ^downloads/index.php$ index.php?site=download/index [QSA]

            Die Tipps haben mir auf jedenfall schon mal super weitergeholfen.
            Du hattest ein Fehler in der Rule:
            RewriteRule ^downloads/index.php$ index.php?site=downloads/index [QSA]

            Nein, hatte ich nicht. Dass du JETZT plötzlich "downloads" im Parameter haben willst, hast du vorher nicht gesagt. In deinem Ausgangsposting und in dem Folgeposting mit deinem ersten Rule-Versuch steht nur "download". Das habe ich ganz simpel kopiert.

            Jetzt hab ich aber noch das Problem das überall vor den Bildern steht:

            http://www.seite.de/downloads/style/bilder/bild_08.jpg

            und es aber heißen müste:

            http://www.seite.de/style/bilder/bild_08.jpg
            Bekommt man das auch irgend wie weg? Also müß ich das im Quelltext lösen oder kann man das auch mit einer Rul ändern?

            Klar kriegt man das weg. Finde /downloads/style/bilder, ersetze durch /style/bilder - das geht am performantesten, indem du das im Quelltext änderst, und auf dem Server umlagerst, aber Rewriting kriegt es natürlich auch hin.

            - Sven Rautenberg