2011-06-22 30 views
0

我需要寫一個RewriteCond,它檢查request_uri中的「blogs」字,然後繼續前進。RewriteCond寫作幫助

像這樣的事情

RewriteCond %{REQUEST_URI} ^/xml/abc/http://blogs.* 

這是語法正確的?

任何幫助將不勝感激。

+0

我也需要有一個版本,在http後面轉義斜線和冒號。 – SMG

回答

0

REQUEST_URI將不包含主機名。如果你想檢測http://blogs.yoursite.com你需要使用HTTP_HOST

RewriteCond %{HTTP_HOST} ^blogs\. [NC] 
RewriteRule ... 

編輯:

我不認爲你可以解碼的URL,所以只跳過編碼部分在你的正則表達式。你甚至不需要一個RewriteCond:

RewriteRule ^/?xml/abc/(http.+blogs\..*) /foo/bar?q=$1 [L] 
+0

謝謝你的答案羅布,我會得到http url作爲附加的url,像這樣http://mysite.com/xml/abc/http://blogs.mysite.com,所以我認爲REQUEST_URI shud檢測博客url – SMG

+0

但我如何獲得編碼版本的RewriteCond說,例如,如果請求url是這樣的http://mysite.com/xml/abc/http%3A%2F%2Fblogs.mysite.com – SMG

+0

編輯我的答案^ – Rob