使用htaccess在https中使用https附加www

时间:2017-02-10 11:10:36

标签: apache .htaccess

我在Firefox上遇到此问题,而不是Chrome。当用户输入不使用www.的https网站的网址时,应在我的网址中附加www

目前,Firefox显示此错误:

  

您的连接不安全

当用户在没有 www。的情况下输入我网站的网址时 我尝试了不同的.htaccess规则,但没有一个规则可行。在网址中附加www的正确方法是什么?

以下是我尝试的两个选项,但没有一个可行:

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

第二个选项:

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

1 个答案:

答案 0 :(得分:0)

您遇到的问题是,在拥有有效的HTTPS会话之前,您无法在HTTPS URL上重定向访问者。因此,您的证书必须对非www有效,否则将始终显示安全警告,并且不会发出重定向。

这会将https://www.以外的任何人重定向到该RewriteEngine on RewriteCond %{HTTPS} =off [OR] RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L] 。请记住,正如我上面所说,如果你不想要警告,证书必须在https上有效才能发出重定向。

www.example.com

只需根据需要替换SQL