2009-10-09 34 views
11

Tôi có URL sau:Quy tắc ghi đè Apache với thông số?

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

Tôi muốn có một quy tắc viết lại để như sau:

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

bản đồ để url trước. Bây giờ, quy tắc của tôi là:

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

Dường như không hoạt động! Bất kỳ ý tưởng?

Trả lời

14

Chuỗi truy vấn không được phân tích bởi Apache Mod_Rewrite, nhưng có một giải pháp thay thế. Hãy thử điều này

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

Cảm ơn rất nhiều! – James

+1

Đó là những gì tôi đã bỏ lỡ cho các truy vấn tìm kiếm động của mình. Cảm ơn, Clops! –

+0

làm thế nào bạn sẽ thoát khỏi sự cần thiết '? 'Ở cuối? nó không hoạt động nếu tôi chỉ xóa nó – user151496

5

Bạn có thể sử dụng RewriteCond tuyên bố để thực hiện chính xác những gì bạn muốn:

RewriteEngine On 

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

Dường như có một = mất tích từ clops trả lời cho ..

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

. ít nhất tôi cần một cái để nó hoạt động.

Các vấn đề liên quan