2016-04-05 8 views
0

ich den Code unten in meinem .htaccessJede Idee, warum diese regex nicht funktioniert? Es leitet auf

RewriteEngine on 
RewriteCond %{QUERY_STRING} (?:^|&)prod=\d+(?:&|$) [NC] 
RewriteRule ^dumbwaiters/proddetail\.php\?* https://www.example.com/dumbwaiters/compare-dumbwaiters/ [NC,R=301,L] 

mit:

https://www.example.com/dumbwaiters/compare-dumbwaiters/?prod=143

Aber ich will nicht den nachgestellten/prod = 143

Irgendeine Idee, was ich falsch mache?

+0

Art wichtig, nicht die Produkt-ID? Brauchen Sie es nicht, um auf das richtige Produkt zuzugreifen? –

+1

nein, sie sind nicht – WordPressDeveloper

+0

,,,,,,,,,,,,,, 'l; kjhhhhhhhhhhhhhhhhhhyfrtyuop [] \' –

Antwort

0

http://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsd

Wenn die angeforderten URI eine Abfrage-Zeichenfolge enthält, und die Ziel-URI nicht der Fall, ist das Standardverhalten von RewriteRule URI die Abfrage Zeichenfolge an das Ziel zu kopieren. Mit der [QSD] Flag bewirkt, dass die Query-String- verworfen werden.

Dieses Flag ist in der Version 2.4.0 und höher verfügbar.

Also, wenn Ihr Apache-Version ausreichend ist, denke ich, die unten nicht getesteten Code funktionieren würde:

RewriteRule ^dumbwaiters/proddetail\.php.* https://www.example.com/dumbwaiters/compare-dumbwaiters/ [QSD,NC,R=301,L] 
+0

habe ich versucht, mit dem zusätzlichen. wie oben erwähnt, aber es ging nur auf die 404-Seite. – WordPressDeveloper

Verwandte Themen