2013-03-14 82 views
1

我試圖讓下面的工作:當用戶使用搜索框國防部重寫的正則表達式不工作的Apache

,則get向用戶www.example.com/search/?s=Query+String

發送GET請求是沒有問題的但是,通過RewriteRule來抓。在這種情況下,我不確定我的REGEX是否合適。

RewriteRule ^search/\?s=(.*[^/])$ search.php?s=$1 [NC,L] 

什麼需要做的是,/search/?s=Query+String查詢字符串的一部分必須從該URL取出並通過重寫規則從請求

+0

爲什麼不把'search.php'移到'search/index.php'? – 2013-03-14 14:24:15

回答

1

查詢字符串存儲在變量%{QUERY_STRING}派人過來search.php?s=Query+String。規則使用%{REQUEST_URI}。只需使用QSA標誌:

RewriteRule ^search/?$ search.php [NC,L,QSA] 

測試here

+0

你不認爲這個問號應該逃脫嗎? – ShuklaSannidhya 2013-03-14 14:33:27

+0

不,這意味着斜槓不是必需的 – vmeln 2013-03-14 14:33:59

+0

謝謝大家,@Volodymyr建議是我所需要的。 – 2013-03-14 14:36:26