Hallo Jörg
Eine Frage hätte ich noch ... ;-)
Wie kann ich jetzt per mod_rewrite schreiben, dass zum Beispiel die Seite:
www.beispiel.de/index.php/products_id/XXXX
(wobei das XXXX Ziffern sind)
nach
www.beispiel.de/index.php?products_id=XXXX
(wobei das XXXX die gleiche Ziffer wie in der Ausgangs URL sein soll?)
umgezogen ist. Ein 301 sollte unbedingt gesendet werden.
Das würde ich so probieren:
RewriteRule ^index\.php/products_id/([0-9]+)$ http://www.beispiel.de/index.php?products_id=$1 [R=301]
Das funktioniert wunderbar!
Vielen lieben Dank!!!
Detlef
... darf ich noch eine ...Jörg? ;-)
Jetzt müsste ich (das ist wirklich die letzte Frage!):
www.beispiel.de/product_info.php/cPath/xxxx/products_id/xxxx
xxx = Ziffern
generell mit 301
zu -> www.beispiel.de/product_info.php?products_id=xxxx umleiten.
der Bereich /cPath/xxxx/ kann ignoriert werden. Wichtig ist, dass die letzten Ziffern
oben hinter products_id/xxxx <---die
unten an ?products_id=xxxx <--- hier dran!
Danke schon einmal vorab .. ;-)
Detlef
P.S. ... und mod_rewrite werde ich wohl trotzdem nie verstehen .... ;-(
Das sollte so gehen:
RewriteRule ^product_info\.php/cPath/[0-9]+/products_id/([0-9]+)$ http://www.beispiel.de/product_info.php?products_id=$1 [R=301]
"[0-9]+" repräsentiert mehrere Ziffern; der erste geklammerte Ausdruck im Muster wird auf der rechten Seite durch ein "$1" wieder aufgenommen
Hallo und guten Abend
Ich vergaß mitzuteilen, dass es 3 mögliche Grundvarianten der umzuschreibenden URL gibt.
Version 1:
www.beispiel.de/product_info.php/cPath/xxxx/products_id/xxxx
funktioniert super mit o.g. Regel.
Allerdings gibt es bei mir noch folgenden Versionen:
Version 2:
www.beispiel.de/product_info.php/cPath/xxxx_xxxx/products_id/xxxx
und
Version 3:
www.beispiel.de/product_info.php/cPath/xxxx_xxxx_xxxx/products_id/xxxx
Version 2 u. 3 funktionieren natürlich mit o.g. Regel nicht. Klar, der Trenner _ zwischen den Ziffern ist ja in der Regel nicht vorhanden.
Hast Du abschließend auch dafür eine Lösung? Am besten wäre ja eine Regel für alle 3 möglichen Varianten. Auch eine Regel für jede Version würde mir sehr weiter helfen.
Lieben Gruß (... und DANKE für Deine Mühen Jörg!)
Detlef
Dazu kannst du die Zeichenklasse [0-9] einfach durch einen Unterstrich erweitern
RewriteRule ^product_info\.php/cPath/[0-9_]+/products_id/([0-9]+)$ http://www.beispiel.de/product_info.php?products_id=$1 [R=301]
Guten Morgen!
Hab vielen Dank für die Hilfe. Ohne Dich wäre ich wirklich aufgeschmissen! Absolut genial, so unkompliziert wirklich gute Hilfe zu bekommen.
D A N K E !
Detlef
Guten Morgen Jörg ...
Ja ... 3.15 Uhr und ich sitze immer noch vor der Kiste weil erneut eine Frage aufgetaucht ist, die ich nicht beantworten kann.
Ich möchte von:
http://www.beispiel.de/product_reviews_info.php/products_id/XXX/reviews_id/XXXXX
nach
http://www.beispiel.de/product_reviews_info.php?products_id=XXX&reviews_id=XXXXX
mit einem 301 umleiten.
Sowohl die Ziffern (variable Stellen - also 1,2,3,4,5 stellig) XXX hinter products_id/ von oben und die Ziffern (variable Stellen - also 1,2,3,4,5 stellig) hinter reviews_id/ müssen jeweils unten wieder an enstprechender Stelle in die umgleitete URL eingefügt werden.
Eine Hilfe noch? ;-)
Danke schon mal!
Gruß
Detlef
Du verwendest einfach zwei passende geklammerte Ausdrücke im Muster, die du durch $1 und $2 im Weiterleitungsziel wieder aufnehmen kannst
RewriteRule ^product_reviews_info\.php/products_id/([0-9]+)/reviews_id/([0-9]+)$ http://www.beispiel.de/product_reviews_info.php?products_id=$1&reviews_id=$2 [R=301]