重定向www和非www到https www .htaccess不工作

时间:2017-07-30 15:23:59

标签: apache .htaccess redirect mod-rewrite

请不要说,它的副本我已经通过所有线程,但没有一个为我工作。

我已安装SSL,并希望将www和非www重定向到https://www

我有这段代码.htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^ven7\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.ven7.com/$1 [R,L]

此工作正常,将domain.com重定向到https://www.ven7.com 但是,如果我点击www.ven7.com,页面正在加载,但它正在加载http,所以我已将脚本更改为..

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^ven7\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.ven7\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.ven7.com/$1 [R,L]

使用此代码重定向工作但页面未加载,出现一些错误,重新指示太多。

我该如何解决这个问题?并永久地想要这个重定向。

由于

1 个答案:

答案 0 :(得分:2)

您可以使用:

RewriteCond %{HTTP_HOST} !^www\. [OR,NC]
RewriteCond %{HTTPS} off 
RewriteRule ^ https://www.ven7.com%{REQUEST_URI} [NE,R=301,L]

如果您需要测试域名,请添加第一行:

RewriteCond %{HTTP_HOST} (?:^|\.)ven7\.com$ [NC]

并使用:

RewriteEngine On
RewriteCond %{HTTP_HOST} (?:^|\.)ven7\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [OR,NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^ https://www.ven7.com%{REQUEST_URI} [NE,R=301,L]