Apache 强制 http 全部跳转到 httpS
.htaccess 在每一层独立服务根目录下都存在,例如:
全部网站根目录为 /var/www/html/.htaccess
gitoscc博客根目录位 /var/www/html/gitoscc-WordPress/.htaccess
gitoscc论坛根目录位 /var/www/html/gitoscc-discuz/.htaccess
gitoscc学习根目录位 /var/www/html/gitoscc-study/.htacces
全站采用https协议访问,所以需要http重定向到https,只需要在.htaccess加入下面规则
在相应的网站根目录新建 .htaccess
例如,在gitoscc博客的网站根目录下,新建
PHP" style="padding: 0px 0.5em; margin: 0px; color: black; background-color: rgb(207, 207, 207); display: inline-block; position: absolute; bottom: auto; left: auto; top: 0px; right: 0px; width: auto; height: auto; font-size: 0.9em; border-radius: 0px 0px 0px 5px; text-shadow: none; z-index: 1; box-shadow: none; transform: none;">
或者
强制301重定向 HTTPS
站点绑定多个域名
只允许www.gworg.com 跳转
高级用法 (可选)
PHP
Apache mod_rewrite实现HTTP和HTTPS重定向跳转
当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求),全部都重定向至HTTPS(即端口443)。这时候你可以用以下的方式来做到:(Apache mod_rewrite)
把这段代码放在.htaccess文件,即可实现HTTP到HTTPS的重定向。
PHP
而当你又想用回HTTP的时候,反过来就可以了:
PHP
其中R=301表示Moved Permanently,即告诉搜索引擎或者浏览器下去直接访问后者的地址,
如果只是试验性地重定向,可以使用R=302(Found),临时跳转
更多30x状态,请见米扑博客:HTTP协议中POST、GET、HEAD、PUT等请求方法总结
VirtualHost 添加重定向
实测以上方法,对于我的需求场景,都无效
我的项目场景:
1、在我的根目录下 /var/www/htmp/
2、配置有多个网站,如米扑博客(/var/www/htmp/gitoscc-blog/)、米扑论坛(/var/www/htmp/gitoscc-forum/)、米扑学习(/var/www/htmp/gitoscc-study/)等
3、对于gitoscc博客的http请求,全部定向到https博客;对于gitoscc论坛的http请求,全部定向到https论坛;
最后,解决方案是在 VirtualHost 节点里,添加如下配置:
PHP
完整配置参数如下:
PHP
在gitoscc论坛、米扑学习等 VirtualHost 节点里,都添加如上配置,问题解决。
秋蝉博客www.100msh.net