当前位置:首页 > 编程技术 > PHP编程

http站点使用301方式跳转到https

网友投稿4年前 (2022-10-11)PHP编程967
摘要:http和https:http定义了客户端(浏览器)与服务器之间的通信规则,端口号是80,大部分客户端指的是我们平时上网的浏览器,当然有很多中断例如手机APP、嵌入式软件也可能采用http和服务器通信,这种协议在传输的时候是明文的,也就是在通信过程中传输的数据在线路的每个节点(例如网关,路由器)都可…

http和https:http定义了客户端(浏览器)与服务器之间的通信规则,端口号是80,大部分客户端指的是我们平时上网的浏览器,当然有很多中断例如手机APP、嵌入式软件也可能采用http和服务器通信,这种协议在传输的时候是明文的,也就是在通信过程中传输的数据在线路的每个节点(例如网关,路由器)都可以被劫持到,所以安全性较低。而https即http下加入SSL层加密,端口号是443,传输数据无法被劫持到。
对于安全性较高的站点(金融、银行、电子商务等)一般都采用https,目前越来越多的站点都使用了https,但是很多用户输入的时候都是直接输入网址,默认浏览器作为http来请求,这样就需要在服务器端做一个跳转到https站点,在服务器端跳转有301和302两种方式,这里的301和302指的是http请求状态码,对用户来讲没什么区别,但是对于搜索引擎关系重大,301是永久重定向而302则被认为是临时的,所以应该采用301的方式,做301跳转一般又有两种方式:1.使用程序跳转2.使用web服务器配置跳转。
以PHP程序为例可以在入口文件或者公共文件中使用

$scheme = isset($_SERVER['REQUEST_SCHEME']) ? $_SERVER['REQUEST_SCHEME'] : '';if(($scheme === 'http')){
    header('HTTP/1.1 301 Moved Permanently');
    header('Location:https://你的域名' . $_SERVER['REQUEST_URI']);}123456

这样就可以实现全站301跳转了,$_SERVER[‘REQUEST_URI’]表示保留原来url上的参数

另外一种方式就是使用web服务器配置进行跳转,以Nginx为例,在80端口的虚拟主机中使用

rewrite ^(.*) https://你的域名$1 permanent;1

这样就可以实现和上述程序一样的301跳转,有条件的建议使用web服务器做跳转,一个是不用解析应用程序代码,再就是通过程序跳转的方式虽然先发送了301状态码信息,但是Location方式是302,有的客户端会识别成302跳转


扫描二维码推送至手机访问。

版权声明:本文由天涯家园HomeH发布,如需转载请注明出处。

本文链接:https://www.homeh.cc/post/125.html

分享给朋友:

“http站点使用301方式跳转到https” 的相关文章

PHP 字符串函数-PHP学习3

字符串是字符序列,比如 "Hello world!"。PHP 字符串函数在本节中,我们将学习常用的字符串操作函数。PHP strlen() 函数strlen() 函数返回字符串的长度,以字符计。下例返回字符串 "Hello world!" 的长度:实例<…

MySQL存储引擎InnoDB与Myisam的六大

摘要: MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。MySQL 有多种存储引擎,每种存储引擎有…

开源CMS软件AKCMS的页眉如何修改

很多免费开源CMS软件都会在自己的作品页眉中加上自己的版权信息,比如ecms,dedecms,ecshop,discuz,会在你的网站中某个地方插入powered by xxoo这种字眼。AKCMS是怎么插入的呢?要如何修改呢,其中有2个地方:1,他会在你每个网页底部强行插入powered by a…

PHP程序中->和=>是什么意思,怎样理解

在学习PHP中,遇到了->和=>这两个符号。 PHP程序中->和=>是什么意思,怎样理解, 刚遇到这两个符号的时候不知道它们代表的含义,在经过百度后才发这两个符号的秘密。 下面来看一下在PHP中->的秘密,如下代码。 <?phpcla…

PHP 变量-PHP编程学习1

变量是存储信息的容器:实例<?php $x=5; $y=6; $z=$x+$y; echo $z; ?>运行实例类似代数x=5 y=6 z=x+y在代数中我们使用字母(比如 x)来保存值(比如 5)。从上面的表达式 z=x+y,我们能够计算出 z 的值是 11。在…

[php编程]php中运行后怎么停,php停止脚本运行的操作方法

php停止脚本运行的操作方法发布时间:2020-07-21 17:32:33来源:亿速云阅读:112作者:小新本篇文章和大家了解一下php停止脚本运行的操作方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。php停止脚本运行的方法是:return、die、exit。如果exit用…