1

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

1 回答 1

1

[OR]如果请求缺少 www或者不是 HTTPS,您可以使用该标志进行重定向:

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/先访问,则无论重定向的顺序如何,他们都会收到警告。

于 2013-11-07T23:31:36.543 回答