本文主要和大家分享Apache http自动跳转到https的几种方法,非常不错,具有参考借鉴价值,需要的朋友参考下

  本文主要和大家分享Apache http自动跳转到https的几种方法,当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求),全部都重定向至HTTPS。这时候你可以用以下的方式来做到:

  在启用了 https 之后,还要保证之前的 http 端口可以打开,http 的 80 端口是有两个网址的,所以这就导致需要把原来的带 wwww 和不带 www 的域名同时指定一个 https 网址上面,需要做两个 Apache 的301重定向,这个其实是很简单的,夏日博客的做法是直接在 .htaccess 文件中添加两个 301 即可,如下所示:

  rewritecond %{http_host} ^www.jl0834.com [nc] RewriteRule ^(.*)?$ https://www.php.cn/$1 [R=301,L] RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://www.php.cn/$1 [R=301,L

  第一个 301 很自然就是带 www 的跳转到新的 https 上面了,而下面的301重定向则是判断如果端口不是80的话,则进行重定向,这样的话,带www和不带www的域名就一起跳转到 https 一个网址上面了,当然这种全站做301的方法是比较暴力的,通常情况下我们只要把主域名做个301就可以了,我这里是因为启用了原来的两个域名。

  PHP中文网还手机了一些其它的 Apache http 跳转到 https 的方法,仅供参考:

  方法1

  RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.php.cn/$1 [R=301,L]

  方法二

  RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L]#整站跳转

  方法三

  RewriteEngine on RewriteBase /yourfolder RewriteCond %{SERVER_PORT} !^443$ #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L] RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]#以上至针对某个目录跳转, yourfolder就是目录名

  方法4

  redirect 301 /你的网页 https://你的主机+网页#至针对某个网页跳转

  方法5

  RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} !^/tz.php RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]

  解释:

  %{SERVER_PORT} —— 访问端口%{REQUEST_URI} —— 比如如果url是 http: //localhost/tz.php,则是指 /tz.php%{SERVER_NAME} —— 比如如果url是 http: //localhost/tz.php,则是指 localhost

  以上规则的意思是,如果访问的url的端口不是443,且访问页面不是tz.php,则应用RewriteRule这条规则。

  这样便实现了:

  访问了 http: //localhost/index.php 或者 http: //localhost/admin/index.php 等页面的时候会自动跳转到 https: //localhost/index.php 或者 https: //localhost/admin/index.php,但是访问 http: //localhost/tz.php 的时候就不会做任何跳转,也就是说 http: //localhost/tz.php 和 https: //localhost/tz.php 两个地址都可以访问。

最新文章

  1. Zephyr OS 简介
  2. nginx入门篇----安装、部署、升级
  3. 1.springMVC+spring+Mybatis的整合思路
  4. VS2010+Opencv+SIFT以及出现的问题-关于代码sift_3_c的说明
  5. web ppt
  6. POJ1419 Graph Coloring(最大独立集)(最大团)
  7. Centos安装配置Postfix邮件服务器
  8. win7 64 安装Oracle 11G 、使用PLSQL进行连接 标准实践
  9. Hierarchy Viewr 配合 adb 命令 查看窗口属性
  10. [Angular 2] Using a Reducer to Change an Object's Property Inside an Array
  11. android中全局异常捕捉
  12. Python之数学(math)和随机数(random)
  13. ajax 函数回调
  14. Inquirer.js
  15. MyBatis中映射器Mapper概述
  16. 简单的shell脚本练习(一)
  17. flask-sqlalchemy组件
  18. Nginx proxy开启cache缓存
  19. java集合类,详解
  20. 邮件过滤-LSTM-Spam Filtering

热门文章

  1. javascript移动端禁止页面滑动的解决方案
  2. js 数组不重复添加元素
  3. elasticsearch索引自动清理
  4. 洛谷P5162 WD与积木 [DP,NTT]
  5. flex下部固定高,上部不固定,而且超过内容要滚动
  6. js---数组排序法(冒泡排序;快速排序)
  7. /etc/rc.d/init.d/iptables: No such file or directory 错误原因
  8. 关于Sublime text 3如何编辑less并转(编译)成css文件
  9. D3.js force力导向图用指定的字段确定link的source和target,默认是索引
  10. Advanced Wlan Attacks (RADIUS)