2013-08-26 27 views
0

我試過所有的規則莊園,只是可以工作這一個。如果有人能解決這個問題?URL重寫和移動的問號

我需要把這個

http://localhost/search/?terms=foobar 

這個

http://localhost/index.php?m=search&terms=foobar 

其中 「foobar的」 是真的([^ /] *),即可以是任何東西,這是一個搜索字符串。 最初的URL有一個「?」由於HTML表單的GET方法。雖然沒有那個「?」會更容易些這不是可以做的事情嗎?

我試過以下,沒有運氣。

#RewriteRule ^search/\?terms\=([^/]*)$ index.php?m=search&terms=$1 [L] 

謝謝。

回答

0

對於查詢字符串,你需要使用%{QUERY_STRING}

RewriteCond %{QUERY_STRING} ^terms=(.*)$ [NC] 
RewriteRule ^search/?$ index.php?m=search&terms=%1 [NC,L] 
0

您不能重寫規則匹配QUERY_STRING。有你這樣的代碼:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} ^(.+)$ 
RewriteRule ^(search)/?$ index.php?m=$1 [L,NC,QSA] 

由於QSA%{QUERY_STRING}的標誌將被自動結轉到新的URL。