如果已经购买或申请并配置好了 SSL 证书想要将 http 直接重定向到 https 访问,可以用 Apache 的 .htaccess 文件来设置,具体操作如下:
申请免费ssl请查看本站发布的《四款Lets Encrypt免费通配符域名证书在线申请网站》
只需要将以下代码放到 .htaccess 文件中即可,如果 .htaccess 文件中已经有内容,请将重定向代码放在最前面。如果没有 .htaccess 文件就自行创建一个即可。
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
以上规则会影响子域名,如果希望只有主域名使用 https,而子域名不使用,使用以下规则:
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_HOST} !^www.53431.com
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
注意上面的规则中的 53431.com 换成你的域名。
如果只想排除某个子域名,也就是只有某个子域名不使用 https,可以使用以下规则:
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^https://www.53431.com
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]