2015-10-29 102 views
0

我需要做適當的實施一些重定向,因爲我不是一個.htaccess專家我需要一些幫助。重定向http到https和子域到根域

我基本上擁有一個域(domain2),它被設置爲另一個域(domain2)的子域,它連接到我的共享主機方案。我通過cPanel爲domain2安裝了SSL證書,並且還安裝了WordPress以在domain2上運行。

我需要將所有http請求重定向到https,將domain2重定向爲domain1的子域,並確保它不會干擾WordPress .htaccess的內容。

這是我試過的。 http重定向到https似乎工作正常,但我仍然能夠訪問domain2.domain1.com,它不會將我重定向到domain2.com。

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteCond %{HTTP_HOST} ^domain2\.domain1\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.domain2\.domain1\.com$ 
RewriteRule ^/?$ "http\:\/\/domain2\.com\/" [R=301,L] 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

任何人都可以幫忙嗎?

回答

1

在你的.htaccess中試試下面的一條規則。

更換

RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteCond %{HTTP_HOST} ^domain2\.domain1\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.domain2\.domain1\.com$ 
RewriteRule ^/?$ "http\:\/\/domain2\.com\/" [R=301,L] 

與此有關。

RewriteCond %{HTTPS} !^on 
RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.domain1\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com$ 
RewriteRule ^(.*)$ https://domain2.com/$1 [R=301,L] 
+0

嘿,我只是試過,但現在domain1重定向到domain2,就是這樣。我需要domain1才能訪問,並且只需將domain2.domain1.com重定向到domain2以及在domain2上對https進行的所有http請求。真的很難找到我的頭。 –

+0

您的需求令人困惑。您需要將所有非SSL請求傳遞給'domain1.com'和'domain2.com',這些請求將http重定向到https:// domain2.com?或者如果它的domain2.domain1.com重定向到https:// domain2.com? –

+0

對不起!我需要將domain2.domain1.com重定向到domain2.com。然後,我需要將domain2的所有http請求重定向到https。那有意義嗎? –