2013-05-29 166 views
1

我需要將某些URL重定向到一個域,並將所有其他URL重定向到另一個域。例如重定向代碼,它應該將mydomain.com/?p=221和mydomain.com/?p=222重定向到Google,並將所有其他域重定向到另一個域。Htaccess將某些URL重定向到一個域,並將所有其他URL重定向到另一個域

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !\.(css|png|gif|jpe?g|js)$ [NC] 
RewriteCond %{REQUEST_URI} !(?p=221|?p=222)& [NC] 
RewriteRule ^(.*)$ http://mydomain.com/$1 [L,R=301] 

RewriteCond %{REQUEST_URI} (?p=221|?p=222)& [NC] 
RewriteRule ^(.*)$ http://google.com [L,R=301] 

但是代碼不起作用。這是爲什麼?

+0

'(?p = 221 | P = 222)''&'應該是'$' –

+0

非常感謝。 – Zox

回答

2

該查詢不在變量REQUEST_URI中。您必須使用QUERY_STRING變量。兩個條件與這些的,分別代替:

RewriteCond %{QUERY_STRING} !p=(221|222) [NC] 
# And 
RewriteCond %{QUERY_STRING} p=(221|222) [NC] 
+0

非常感謝。 – Zox

相關問題