网上很多http跳转到https的教程即强制网站使用https访问,但是我却遇到了一个要将https访问跳转到http网站的问题。
我在一台服务器上放了两个站点,一个站点要强制启用https,另一个站点还是只想用http访问。由于只需要一个站点使用https,所以我没有使用SNI,我将网站443端口配置到站点1,通过https访问站点1正常,但是通过https访问站点2的网址时也会进入到站点1的目录。多次调整443端口的配置文件也没有禁止站点2通过https访问,最后想到了修改.htaccess文件实现https跳转到http。
在站点1目录下的.htaccess文件中增加以下内容,使通过https方式访问站点2的请求跳转到http方式请求访问站点2.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{SERVER_PORT} =443
RewriteCond %{HTTP_HOST} www.duoluodeyu.com$ [NC]
RewriteRule .*$ http://www.duoluodeyu.com/$1 [L,R=301]
</IfModule>
为了区分是http请求还是https请求,需要先指定端口是443还是80;