昨天忙着将公司的几个海外空间的网站搬迁到亚洲节点的虚拟主机中,因为有几个网站是用到HTTPS网址形式的SSL证书,由于忘记强制HTTPS跳转,我当时也忘记设置这个,因为搬迁过来后直接用HTTPS访问是没有问题的所以也就这么过去了,今天被同事发现直接打开网站之后没有强制跳转过去。
因为虚拟主机采用的是Apache服务器架构,所以我们直接可以在根目录中的.htaccess伪静态文件添加就可以,具体的操作很简单。
A - 根目录
代码如下 | 复制代码 |
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://laobuluo.com/$1 [R,L] |
如果我们网站在根目录,直接用上面的文件添加到当前根目录的.htaccess文件中,注意红色文字替换成我们自己的网址。
B - 子目录
代码如下 | 复制代码 |
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} subfolder RewriteRule ^(.*)$ https://laobuluo.com/subfolder [R,L] |
这个是在对应的子目录(subfolder)中,我们根据实际的需要替换自己的网址,以及对应的子目录。
总结,就这么简单的设置,就可以强制http跳转https网址
以上来自:http://www.itbulu.com/htaccess-https.html
第一,带www的跳转至不带www域名
代码如下 | 复制代码 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^111cn.net$ [NC] RewriteRule ^(.*)$ http://111cn.net/$1 [L,R=301] |
第二,不带www的跳转至www域名
代码如下 | 复制代码 |
RewriteEngine On RewriteCond %{HTTP_HOST} ^111cn.net [NC] RewriteRule ^(.*)$ http://www.111cn.net/$1 [L,R=301] |
一般就是用到上述的2个方法,记不住没关系,跟老左一样记录下来,下次要用直接复制过去使用。
新增加如果网站搬家,老域名全部301跳转到新站点:
代码如下 | 复制代码 |
RewriteEngine on RewriteRule ^(.*)$ http://www.111cn.net/$1 [R=301,L] |
时间: 2024-09-21 21:42:00