2014-04-16 74 views
1

我有一個多網站UCC SSL證書的4個網站。我希望確保用戶能夠訪問我網站的安全版本,無論他們如何輸入網址。如果用戶輸入裸露的域名(如「mysite.com」),則我使用的.htaccess文件重定向到https://www.mysite.com。到現在爲止還挺好。如果用戶輸入「www.mysite.com」,那麼.htaccess文件會將它們指向https://www.www.mysite.com。它增加了一個額外的「www」。到URL。我想修復它,以便用戶重定向到https://www.mysite.com,無論他們是否使用www。如何使用.htaccess從非安全版本的網站重定向到網站的安全版本

這裏是我到目前爲止我的.htaccess文件:

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTPS} !on 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

# secure htaccess file 
<Files .htaccess> 
order allow,deny 
deny from all 
</Files> 

# Cache files of specific types for 2 weeks 
<filesMatch "\.(jpg|jpeg|png|gif|htm|html|css|js)$"> 
Header set Cache-Control "max-age=1209600, public" 
</filesMatch> 

,我有隻固定網站如果www是目前UCC SSL證書(如www.mysite.com) 。它不會保護沒有www的裸域名(例如mysite.com)。任何幫助將不勝感激。謝謝。

我需要指定別的東西。 UCC SSL證書與主站點一起發佈,例如www.example.com。它也適用於example.com。其他三個SAN名稱只與www前面的它們一起使用。我希望這是有道理的。

回答

2

這應該工作:

RewriteEngine On 

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

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

唯一的區別是,www.從第二RewriteRrule刪除。

+0

這工作完美!十分感謝你的幫助。我對.htacces文件很新,所以它確實是一個救生員! –