Umleitungen mit mod_rewrite
Master
- webserver
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
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
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
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=$1Leider 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
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?
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