没有www,HTTPS重定向无法正常工作

时间:2016-05-26 06:54:49

标签: .htaccess redirect https

我将CloudFlare的SSL添加到我的网站 当我使用 www.example.com 进入网站时,一切顺利 但是当我使用 example.com 进入网站时,它不会重定向到HTTPS。

的.htaccess

RewriteEngine On

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

RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/system/.* [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=302,NE,L]

# ErrorDocument
ErrorDocument 404 /404.php

我不太了解htaccess,我希望你能提供帮助 目标是让 http://www.example.com http://example.com 重定向到 https://example.com

2 个答案:

答案 0 :(得分:2)

使用CloudFlare,使用:

# RewriteRules
RewriteCond %{HTTP_HOST} ^www\. [OR,NC]
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteRule ^ https://exemple.com%{REQUEST_URI} [NE,R=301,L]

而不是你的第一个RewriteCond,RewriteRule 2行

答案 1 :(得分:0)

将RewriteCondition更改为

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com [NC]

允许 www 非www