如果已经购买并配置好了 SSL 证书(具体可参考《老薛虚拟主机站点傻瓜式安装免费 SSL 证书》),想要将 http 直接重定向到 https 访问,可以用 Apache 的 .htaccess 文件来设置,具体操作如下:
只需要将以下代码放到 .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.laoxuehosts.com
- RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
注意上面的规则中的 laoxuehosts.com 换成你的域名。
如果只想排除某个子域名,也就是只有某个子域名不使用 https,可以使用以下规则:
- RewriteEngine On
- RewriteBase /
- RewriteCond %{SERVER_PORT} !^443$
- RewriteCond %{REQUEST_URI} !^http://help.laoxuehosts.com
- RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
注意上面的规则中的 help.laoxuehosts.com 换成你的域名。
答案来自@老薛主机帮助中心