2011-03-06 194 views

回答

0

因爲查詢字符串不是URL路徑的一部分,所以不能使用查詢字符串(「?」字符後面的字符串)作爲重寫變量。

您需要修改foo.php R = OK像一些字符串路徑 「foo.php /重定向/」

0

the Apache manual discussing mod_rewrite

如果要匹配反對 主機名,端口或查詢字符串,分別使用 RewriteCond和%{HTTP_HOST}, %{SERVER_PORT}或%{QUERY_STRING} 變量。

仔細查看的RewriteRulesRewriteConditions

編輯:新增工作示例

正則表達式使用寫這些只是純粹的天堂< /諷刺>

任何如何...這是一個簡單的規則(Apache2,Mac OS X 10.5.8)

RewriteCond $1 ^(foo\.php) 
RewriteCond %{QUERY_STRING} (r=ok) 
RewriteRule (foo\.php)  /bar.php [R] 

我測試這對於我能想到的(即R = KO,oof.php,foo.php?R = 0)的許多明顯的警告,但未能打破它。

+0

我想我可以用r =%6F%66(這是'ok'urlencoded)來分解它。 QUERY_STRING是未解碼的字符串。而沒有辦法獲得解碼的。 – regilero 2011-06-01 14:19:22

相關問題