我花了无数个小时试图解决这个问题而且它正在努力。我确信它非常简单,但我在stackoverflow.com或其他网站上找到的答案都不适合我。< / p>
我正在使用仅对www.example.com有效的SSL证书,并且出于无数愚蠢的公司原因,我只使用此证书。
我想强制所有请求使用SSL并添加www。到域名。以下所有域都正确重写:
example.com/
http://example.com/
http://www.example.com/
https://www.example.com/
未重写的域名是我无法找到答案的一个问题
https://example.com
它只是吐出通常的“证书无效”警告。
我的.htaccess文件中有以下代码:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
RewriteCond %{http_host} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
我真的希望有人为我找到解决方案,因为我无法在任何地方找到答案。
答案 0 :(得分:0)
这应该有效:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=302]
RewriteCond %{HTTPS} =off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=302,L]
它会检查网址中是否有www
,如果没有,则会添加它。然后它将检查并查看它是否为https
,如果不是,则会添加它。