2017-07-15 2 views
0

Ich mag die folgende Umleitung tun:301 Redirect URL mit Abfragezeichenfolge?

domain.de/?file=team ->domain.de/team.html

das ich folgendes Umschreiben versuchen zu tun (das funktioniert nicht):

RewriteCond %{QUERY_STRING} ^file=team$ 
RewriteRule ^/$ /team.html [L,R=301] 

Wie kann ich diese 301 Umleitung tun?

Antwort

0

Got die Lösung von mir selbst:

RewriteCond %{QUERY_STRING} ^file=team$ 
RewriteRule ^$ /team.html? [L,R=301] 

domain.de/?file=team -> domain.de/team.html

Wenn Sie sehen, meine Frage oben

1. Fehler: Fehlende Fragezeichen

0 ich habe die folgenden zwei Fehler gemacht

Wenn Sie das Fragezeichen entfernen, dann wird das query_string nicht entfernt werden:

RewriteRule ^$ /team.html [L,R=301] 

domain.de/?file=team -> domain.de/team.html?file=team

Nur ein weiterer Hinweis durch die Art und Weise, wie der Befehl RedirectMatch query_strings nicht entfernen kann.

2. Fehler: Falsche Rewrite Pfad

RewriteRule ^\$ ... does not match doamin.de/?file=team 
RewriteRule ^$ ... matches 
+0

Die '^/$' Regex funktioniert nicht, weil das Präfix (Schrägstrich) aus der Bahn abgezogen wird, wenn Regeln in einer per- Verarbeitung Verzeichniskontext, wie in einem '' Container. Alle Regeln in htaccess-Dateien sind per-Verzeichnis, da sie im Kontext des Verzeichnisses der htaccess-Datei angewendet werden. –

+0

Ihr Kommentar irritiert mich, weil ich '^/$' nicht geschrieben habe ... Ich schrieb '^\ $ ' –

+0

Ihre Frage sagt:" RewriteRule ^/$ /team.html [L, R = 301] '" –