2014-03-27 18 views
2

我正在處理訪問我網站上的URL並向該URL添加「/?parameter = value」的API。我想我的htaccess來處理這個請求,只保留參數的值。我想保持簡單。Mod_rewrite:RewriteRule中的問號

RewriteRule ^my-url/\?parameter=(.*)$ controller.php?parameter=$1 

RewriteRule ^my-url/.parameter=(.*)$ controller.php?parameter=$1 

以上兩種都不起作用。 處理問號似乎存在問題。

回答

2

您需要使用RewriteCond匹配QUERY_STRING:

RewriteCond %{QUERY_STRING} ^parameter=([^&]+) 
RewriteRule ^my-url/?$ controller.php?parameter=%1 [L,QSA] 
+0

無論如何做不的RewriteCond,只能用重寫規則?如果沒有,爲什麼不可能? –

+0

這是因爲'RewriteRule'只匹配REQUEST_URI。 ''後面的任何內容都稱爲查詢字符串,只能使用「RewriteCond」進行匹配。你爲什麼不想使用'RewriteCond'? – anubhava

+0

謝謝,這是有道理的。一個簡單的問題:爲什麼要使用QSA標誌。它似乎也在與他們合作。 –