2016-02-02 18 views
5

Tôi không biết tại sao điều này không thành công. Tôi chỉ muốn chuyển hướng tất cả tên miền đến www.maindomain.com và cũng http đến https, tôi đang thiếu gì?Apache2 chuyển hướng đến một tên miền khác với ssl

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

# redirect without www to www 
RewriteCond %{http_host} ^maindomain.com [nc] 
RewriteRule ^(.*)$ https://www.maindomain.com [r=301,nc] 

# redirect another domain to www.maindomain.com  
RewriteCond %{HTTPS} off # this i was missing 
RewriteCond %{HTTP_HOST} ^(www\.)?anotherdomain.com [NC] 
RewriteRule ^(.*)$ https://www.maindomain.com [R=301,L] 
  1. http://maindomain.com để https:/www.maindomain.com/ làm việc
  2. http://anotherdomain.com-https:/www.maindomain.com/ làm việc
  3. https://anotherdomain.com-https:/www.maindomain.com/ không
+0

lạ, nhận xét với RewriteCond% {HTTPS} tắt, gợi ý đúng ngay bây giờ, nhưng câu trả lời đã bị xóa, giống như tôi muốn chấp nhận nó, tôi đã bỏ lỡ một RewriteCond thứ 2 trong chuyển hướng thứ 3 –

Trả lời

1

Các Http để Https chuyển hướng cho tên miền Một thất bại vì Rule của bạn thiếu dòng sau :

RewriteCond %{HTTPS} off 

Hãy thử:

# redirect another domain to www.maindomain.com  

RewriteCond %{HTTPS} off 

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

Bạn có thể thử này:

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Chỉ cần sao chép và dán đoạn mã trên trong tập tin .htaccess sau đó toàn bộ trang web sẽ được chuyển đến “https” khi trình duyệt được mở ở chế độ “http”. Trình duyệt chỉ được chuyển hướng bằng cách sử dụng ghi đè url bằng .htaccess.

Các vấn đề liên quan