2016-06-09 19 views
0

in meinem letzten Projekt muss ich einige wiederholte Zeichen aus meiner URL entfernen. Genauer gesagt, ich diese URLEntfernen Sie die Zeichenfolge aus der URL mit htaccess

http://example.com/cgi-bin/file.cgi?ga_option1=a&ga_option2=b&ga_option3=c 

diese werden entfernt ga_ Teil

http://example.com/cgi-bin/file.cgi?option1=a&option2=b&option3=c 

ich schon versucht, diese machen wollen:

RewriteEngine On 
RewriteBase /cgi-bin/ 
RewriteRule ^(.*)ga_(.*)$ http://%{SERVER_NAME}/$1-$2 [NC,R=301,L] 

und diese:

RewriteEngine On 
RewriteBase /cgi-bin/ 
RewriteCond %{QUERY_STRING} "ga_" [NC] 
RewriteRule (.*) http://example.com/cgi-bin/file.cgi?$1 [R=301,L] 

aber nichts funktioniert. Bitte geben Sie mir einen Rat. Vielen Dank.

Antwort

0

sollte diese Arbeit:

RewriteEngine on 


RewriteCond %{THE_REQUEST} /cgi-bin/file\.cgi\?ga_option1=a&ga_option2=b&ga_option3=c [NC] 
RewriteRule^/cgi-bin/file.cgi?option1=a&option2=b&option3=c [L,R] 

Wenn die Abfrage-String dynamisch ist, dann versuchen Sie diese stattdessen

RewriteEngine on 


RewriteCond %{THE_REQUEST} /cgi-bin/file\.cgi\?ga_option1=([^&]+)&ga_option2=([^&]+)&ga_option3=([^\s&]+) [NC] 
RewriteRule^%{REQUEST_URI}?option1=%1&option2=%2&option3=%3 [L,R] 

Der Grund, warum Code Ihre # 2 nicht die Anforderung umgeleitet ist, weil Sie Anhängen der URL an uri anstelle der Abfragezeichenfolge.

+0

Hallo, vielen Dank für Ihren Vorschlag, aber es hat nicht funktioniert. Ich bin mir nicht sicher, aber hat es etwas mit der RewriteBase-Regel zu tun? – camelot