2011-01-04 16 views
0

ich versuche, eine URL neu zu schreiben, die diese Form haben:URL-Umschreiben mit einem? Symbol

website.com/?q=home

dieser Form:

website.com/home

I nicht finden können.

habe ich versucht, dieses Formular zum Beispiel: RewriteRule^\ q \ = home $/home [R = 301, L]

wie die Looks "?" oder das "=" Problem darstellen? Kannst du mir helfen?

Danke

+0

5 Fragen und Antworten Sie nicht angenommen haben? Sie sollten daran arbeiten, Antworten zu markieren, die Ihr Problem lösen, als "akzeptiert" (großes Häkchen), damit andere a) wissen, welche Antwort bei Ihrem Problem geholfen hat, und b) Ihnen in Zukunft helfen wollen. – Phrogz

+0

Ich kann das große Häkchen nicht finden, wusste nicht, dass es eine Möglichkeit gibt, eine Antwort zu akzeptieren, werde es überprüfen – kire

+0

okey fand es dank Phrogz;) – kire

Antwort

1

Alles nach den ? in den Variablen %{QUERY_STRING} ist.

Neuschreiben den Wert home Verwendung nur:

RewriteCond %{QUERY_STRING} ^q=(.*)$ 
RewriteRule^/%1? [L,R=301] 

Das letzte:

RewriteCond %{QUERY_STRING} ^q=home$ 
RewriteRule^/home? [L,R=301] 

alle q Werte umschreiben URIs verwenden, um statisch? in der RewriteRule entfernt die Abfragezeichenfolge aus dem Ziel-URI.

Referenz: Apache mod_rewrite

Verwandte Themen