2013-07-26 83 views
0

我想爲以下情況設置htaccess重定向。有條件的URL重寫?

如果某個應用點擊了包含/cms的網址作爲第一個網段http://originaldomain.com/cms我想重定向到安全網域https://differentdomain.com/cms

如果一個URL在任何URL上點擊https://differentdomain.com那麼行爲,URL,系統,或者不是一個帖子,那麼我想重定向用戶到http://originaldomain.com/requestedurl

行爲是OK:

https://differentdomain.com/act?fiudsbsdfn=sfds 

網址是OK:

https://differentdomain.com/url 

系統正常:

https://differentdomain.com/system 

POST方法是確定任何域只是重新GET方法

這是可能的在一個htaccess文件中?

+0

'然後行事,網址,系統,或不是一個職位'你能解釋更好的這部分,如果可能的URL的例子。 – Prix

+0

有幫助嗎? –

+0

這對你有用嗎? – Prix

回答

2

假設兩個域在同一個根文件夾和主機:

RewriteCond %{HTTP_HOST} ^originaldomain\.com$ 
RewriteCond %{REQUEST_URI} ^/cms 
RewriteRule ^(.*)$ https://differentdomain.com/$1 [L,R=302] 

如果它們不在同根文件夾:

RewriteCond %{REQUEST_URI} ^/cms 
RewriteRule ^(.*)$ https://differentdomain.com/$1 [L,R=302] 

現在的第二部分,如果該URL不一個行爲,網址,系統或帖子:

RewriteCond %{THE_REQUEST} !^[A-Z]{3,}\s/(act\?(.*)|url|system)$ [NC] 
RewriteCond %{THE_REQUEST} !^POST [NC] 
RewriteRule ^(.*)$ http://originaldomain.com/$1 [L,R=302] 

基本上這應該工作,如果它在你測試後更改爲302到301如果需要。