htaccess/mod_rewrite Condition/Rule für uri UND parameter

Mhh, irgendwie häng ich grad mir eine passende htaccess Regel zu schreiben.

Ich habe eine alte Url: /shop/s.php?kw=

das ich mit nem 301 in folgendes Umleiten möchte: /search?sSearch=

Diese Umleitung soll aber nur gemacht werden, wenn es den kw Paramter mit Wert gibt UND die ursprüngliche Anfrage an s.php war. Folgende Url soll also NICHT umgeleitet werden:

/shop/x.php?kw=

 

Ok, hab mir nochmal ne Doku durchgelesen. Auch wenn ich die RewriteConditions gestacked hab, hatte es vorerst nicht geklappt. Hab es jetzt nochmal neu geschrieben wie ich es ursprünglich hatte und jetzt funktioniert es. Vielleicht nen kleinen Fehler drin gehabt und nicht gemerkt.

RewriteCond %{REQUEST_URI} ^/shop/s.php [NC]
RewriteCond %{QUERY_STRING} kw=([0-9A-Za-z]+) [NC]
RewriteRule ^(.*)$ /search?sSearch=%1 [L,R=301]
RewriteRule (.*)/shop/s.php /search [qsappend,L,R=301]

 

Der Test auf die REQUEST_URI ist aber unnötig, den kann kam ja in die RewriteRule packen: 

RewriteCond %{QUERY_STRING} kw=(.*)
RewriteRule ^/shop/s\.php$ https://shop.test/search/?sSearch=%1 [R=301,L]

Matt