我有一个网站给我提供SSL证书警告,我相信因为我的网站在加载https之前试图重定向到www。这是我的htaccess设置,有没有办法让我一次处理两个重定向而不必重定向两次?
### Force www
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
### Force https
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
答案 0 :(得分:1)
如果请求缺少www 或,如果不是HTTPS,您可以使用[OR]
标记重定向:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [L,R=301]
但是,这不会阻止人们获得SSL证书警告。如果您的证书已注册“www.domain.com”,并且有人首先转到https://domain.com/
,则无论重定向顺序如何,都会收到警告。