我怎样才能结合www。和https重定向到一个重定向?

时间:2013-11-07 23:14:52

标签: .htaccess

我有一个网站给我提供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]

1 个答案:

答案 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/,则无论重定向顺序如何,都会收到警告。