如果已经购买并配置好了 SSL 证书,想要将 http 直接重定向到 https 访问,可以用 Apache 的 .htaccess 文件来设置。
电脑上可以不能创建.开通的文件,可以在自己电脑上随便创建一个文件名的文本,上传到虚拟主机后文件改名为.htaccess
此文件应放在网站的根目录,比如wwwrooot目录、public_html目录,或者其他自己定义的网站目录。
文件名是.htaccess
只需要将以下代码放到 .htaccess 文件中即可,如果 .htaccess 文件中已经有内容,请将重定向代码放在最前面。
具体代码如下:
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
高级进阶
以上规则会影响子域名,如果希望只有主域名使用https,而子域名不使用,使用以下规则:
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_HOST} !^www.xyyun.cc
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
注意上面的规则中的www.xyyun.cc换成你的域名。
如果只想排除某个子域名,也就是只有某个子域名不使用https,可以使用以下规则:
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^http://www.xyyun.cc
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]