2014-06-28 72 views
0

我需要設置我的.htaccess爲我的網站執行以下重定向。 (我花了相當長的一段時間,所以研究和發現大量的有關htaccess的重定向的問題,但不是這個特定的一個。)重定向整個網站到https - 非www到www除子域名

1. www.example.com 
2. http://www.example.com 
3. example.com 
4. http://example.com 
5. https://example.com 


to https://www.example.com 

但是任何的子域不應該被重定向到www或https 即support.example.com

不應該被重定向到https://support.example.comwww.support.example.com

目前,我有以下重定向代碼在我的.htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC] 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

此正確地重定向

1. www.example.com 
2. http://www.example.com 

to https://www.example.com 

並且還防止從子域重定向。

然而

3. example.com 
4. http://example.com 
5. https://example.com 

被重定向到

https://example.com 

附:我已將鏈接放在代碼塊中,因爲我沒有足夠的聲望發佈超過2個鏈接。

回答

0

試試看看它是如何工作的,並讓我知道。

RewriteCond %{HTTP_HOST} ^(example\.com) [NC] 
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L] 

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

這是令人難以置信的。很棒。感謝閃電般的快速反應。 – rogerb

+0

沒問題,很樂意幫忙。 –

0
   # 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> 

       Redirect 301/http://sample1.com 
       # END WordPress 

例如..

答:sample.com B:sample1.com

如果你想sample.com重定向到sample1.com然後ü應該包括SAMPLE1

.com旁邊的重定向301.

+0

- 非常感謝您的迴應。我不使用Wordpress,所以我不能真正測試你的解決方案。 – rogerb