Apache htaccess:重定向到https不使用www
借助于此,我刚刚在CentOS 7.3中安装了Origin CA证书 然后,我使用以下Apache htaccess:重定向到https不使用www,apache,.htaccess,ssl,redirect,Apache,.htaccess,Ssl,Redirect,借助于此,我刚刚在CentOS 7.3中安装了Origin CA证书 然后,我使用以下.htaccess命令将所有http请求重定向到https和www到非www RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ https:/
.htaccess
命令将所有http
请求重定向到https
和www
到非www
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
以下是一些问题,
1) 当我将RewriteCond%{HTTPS}设置为off时
会给出过多的重定向
错误
2) 当我使用以下URL访问站点时,它不会重定向到https
3) 但是,它可以很好地工作(使用WWW)
不确定我是否在SSL配置中做了任何错误,如果有任何帮助,我们将不胜感激。您可以使用此单一规则替换
http->https
和www->non-www
重定向规则:
RewriteEngine On
# remove www and turn on https rule
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTP:X-Forwarded-SSL} =off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]
http://www.website.com
重定向到https://website.com
(工作正常)。但是http://website.com
没有重定向Apache 2.4.6…它再次说ERR\u TOO\u MANY\u重定向
可能你是对的,这次http://www.website.com
重定向到https://website.com
(工作正常)。但是http://website.com
无法使用RewriteCond%{REQUEST_SCHEME}=http
或RewriteCond%{HTTPS}off
这次http://www.website.com
重定向到https://website.com
(工作正常)。但是http://website.com
不起作用不确定,它在一个实时站点上对我有效RewriteCond%{HTTP:X-Forwarded-SSL}=off
或RewriteCond%{REQUEST_SCHEME}=HTTP
或RewriteCond%{HTTP:X-Forwarded-Proto}!https应该可以工作。