2009-10-09 12 views
11

Mam następujący adres URL:Reguła przepisywania Apache z parametrami?

http://domain.com/index.php?m=feedback&cSubject=My Subject 

chcę mieć regułę przepisywania tak, że:

http://domain.com/feedback?Subject=My Subject 

mapy do poprzedniego adresu URL. Oto moje zasady:

RewriteRule ^feedback?Subject=(.*)$ index.php?m=feedback&cSubject=$1 

Wygląda na to, że nie działa! Jakieś pomysły?

Odpowiedz

14

Ciągi zapytań nie są analizowane przez Apache Mod_Rewrite, ale istnieje obejście. Spróbuj tego

RewriteRule ^feedback/?$ index.php?m=feedback&c%{QUERY_STRING} [NC,L] 
+1

Pracowałem wielkie dzięki! – James

+1

Tego właśnie brakowało w dynamicznych zapytaniach. Dzięki, Klapy! –

+0

jak można pozbyć się niezbędnych "?" Na końcu? to nie działa, jeśli po prostu go usunę – user151496

5

Można użyć oświadczenie RewriteCond zrobić dokładnie to, co chcesz:

RewriteEngine On 

RewriteCond %{QUERY_STRING} Subject=(.*) 
RewriteRule ^feedback$ index.php?m=feedback&cSubject=%1 [L] 
0

Wydaje się, że an = brakuje clops odpowiedzieć dać ..

RewriteRule ^feedback/?$ index.php?m=feedback&c=%{QUERY_STRING} [NC,L] 

. przynajmniej potrzebuję jednego, aby to działało.

Powiązane problemy