Apache 将HTTP重定向到HTTPS并添加WWW
我正在尝试在运行Apache的网站上正确设置HTTPS重定向。我有*.example.com的通配符SSL证书。目前,我的重写规则将所有HTTP通信重定向到相同的HTTPS地址,这对所有子域都非常有效。但当有人试图转到时,它会将他们重定向到,他们的浏览器会抛出一个安全警告,因为我的证书没有覆盖该URL 我想设置服务器,以便任何带有子域的地址都会通过HTTPS重定向到同一地址,而没有子域的地址会通过添加www重定向到该地址:Apache 将HTTP重定向到HTTPS并添加WWW,apache,apache2,Apache,Apache2,我正在尝试在运行Apache的网站上正确设置HTTPS重定向。我有*.example.com的通配符SSL证书。目前,我的重写规则将所有HTTP通信重定向到相同的HTTPS地址,这对所有子域都非常有效。但当有人试图转到时,它会将他们重定向到,他们的浏览器会抛出一个安全警告,因为我的证书没有覆盖该URL 我想设置服务器,以便任何带有子域的地址都会通过HTTPS重定向到同一地址,而没有子域的地址会通过添加www重定向到该地址: 重定向到 重定向到 重定向到 我的服务器运行的是Ubuntu 16.04
我希望第一条规则(底部)将基本域重定向到添加了www.added的HTTPS,第二条规则将所有其他流量重定向到具有相同url的HTTPS。目前,第二条规则似乎适用于所有情况。经过一番阅读,我发现:
RewriteEngine On
RewriteRule ^http:\/\/example.com https://www.example.com [L]
RewriteCond %{HTTP_HOST} !^example.com$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L]
RewriteEngine On
RewriteRule ^http:\/\/example.com https://www.example.com [L]
RewriteCond %{HTTP_HOST} !^example.com$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L]