使用.htaccess将HTTPS重定向到HTTP
仅使用以下规则从主页上的HTTPS重定向到HTTP。
RewriteCond %{HTTPS} on RewriteRule ^/?$ http://%{SERVER_NAME}/ [R=301,L]
变量%{HTTPS}将为“on”或“off”,即使您的站点上未安装SSL,也将启用该变量。上面的规则可以看到HTTPS已打开,并将主页重定向到HTTP版本。您甚至可以像这样将许多规则链接在一起。
RewriteCond %{HTTPS} on RewriteRule ^/?$ http://%{SERVER_NAME}/ [R=301] RewriteRule ^inner/directory/?$ http://%{SERVER_NAME}/inner/directory/ [R=301,L]
请注意,您应该以L结束最后一条规则,以便该页面上的其他规则都不会运行。另外,您需要绝对确保您不会重定向任何与购物车安全性不可或缺的页面,因为这将关闭这些页面的HTTPS。
您也可以使用${SERVER_PORT}变量执行相同的操作。
RewriteCond %{SERVER_PORT} 443 RewriteRule ^/?$ http://%{SERVER_NAME}/ [R=301,L]
HTTPS的端口是443,因此,如果通过通信的端口是443,则需要重定向。