2014-02-25 33 views
1

我嘗試做以下else語句:我有這個在我的htaccess如果在.htaccess

Options FollowSymLinks 
RewriteEngine On 

RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} ^www\. [OR,NC] 
RewriteCond %{HTTP_HOST} ^site-staging\.com$ [NC] 
RewriteRule^https://new_site-staging.com%{REQUEST_URI} [L,R=301] 

所以,我刪除「WWW」,並重定向到「new_site-staging.com」一切如果有一些特定的頁面用戶輸入,我在那裏重定向。 我的問題是,我可以做出某種if/else語句的:

if (URL == "site2014.com") { 
    RewriteRule^https://site2014.com%{REQUEST_URI} [L,R=301] 
} else { 
    RewriteRule^https://new_site-staging.com%{REQUEST_URI} [L,R=301] 
} 

所以,如果它是site2014然後重定向到一個,如果它不是重定向一切new_site-staging.com。 這可能通過htaccess?

+0

您可以將完整的.htaccess的問題嗎? – anubhava

回答

0

爲什麼不直接在第一個域的RewriteRule下爲site2014.com創建相同的規則集?然後只是一般重定向。

試試這個:

RewriteCond %{HTTP_HOST} ^www\.site2014\.com$ [NC] 
RewriteRule^https://site2014.com%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTP_HOST} !^new_site-staging\.com$ [NC] 
RewriteRule^https://new_site-staging.com%{REQUEST_URI} [L,R=301] 
+0

您的意思是這樣的: 「 RewriteCond%{HTTPS} off [OR] RewriteCond%{HTTP_HOST}^www \。[OR,NC] RewriteCond%{HTTP_HOST}^site-staging \ .com $ [NC ] 的RewriteCond%{HTTPS}斷[OR] 的RewriteCond%{HTTP_HOST}^WWW \ [OR,NC] 的RewriteCond%{HTTP_HOST}^site2014.com \ .COM $ [NC] 重寫規則^ HTTP://site2014%{REQUEST_URI} [L,R = 301] 重寫規則^ HTTPS://new_site-staging.com% {REQUEST_URI} [L,R = 301] 「 – Wolf87

+0

它總是重定向我第一規則 – Wolf87

+0

見我編輯,如果有幫助 –

0

你可以有你的規則是這樣的:

Options FollowSymLinks 
RewriteEngine On 

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^site2014\.com$ [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} !^site2014\.com$ [NC] 
RewriteRule^https://new_site-staging.com%{REQUEST_URI} [L,R=301,NE]