各种PHP问题
关于此功能:各种PHP问题,php,http-status-code-301,http-status-codes,Php,Http Status Code 301,Http Status Codes,关于此功能: function requireSSL() { if($_SERVER['SERVER_PORT'] != 443) { header("HTTP/1.1 301 Moved Permanently"); header("Location: https://" . $_SERVER['HTTP_HOST'] .$_SERVER['REQUEST_URI']); exit; } return fals
function requireSSL() {
if($_SERVER['SERVER_PORT'] != 443) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://" . $_SERVER['HTTP_HOST'] .$_SERVER['REQUEST_URI']);
exit;
}
return false;
}
SSL需要端口443,所以在这段代码中,如果不是443,那么是否强制使用https?如果是443,它会自动使用https。被永久移动的设备是用来做什么的
标题(“位置:”)代码>
上面的内容有什么用,只不过是告诉它保持在同一页上。默认情况下,它应该保持在同一页上,不是多余的吗
如果客户端不使用
https
,此代码将重定向客户端以使用https
301
告诉客户端始终使用新位置
重定向是通过
位置
标题完成的,您只对了一部分,页面是相同的,但连接是通过https
完成的,而不是http
。如果客户端已通过https
连接,则不会发生重定向。如果客户端未使用https
,此代码将重定向客户端以使用https
301
告诉客户端始终使用新位置
重定向是通过位置
标题完成的,您只对了一部分,页面是相同的,但连接是通过https
完成的,而不是http
。如果客户端已通过https连接,则不会发生重定向。1)HTTP/1.1 301用于让浏览器和搜索引擎知道页面已移动到
2) 此代码用于需要SSL的特定页面或站点。示例:购物车、银行、登录HTTP/1.1 301用于让浏览器和搜索引擎知道页面已移动到
2) 此代码用于需要SSL的特定页面或站点。示例:购物车、银行、登录默认情况下HTTPS通过端口443。如果用户通过普通HTTP进行访问,则此代码使用位置头将用户重定向到HTTPS 301指示浏览器在该URL上的后续请求中始终将HTTP重定向到HTTPS 在psuedo代码中,它执行以下操作:
if (user is NOT visiting through HTTPS)
redirect permanently to the same URL, but then through HTTPS
因此,它不是多余的,因为如果有人使用HTTPS访问该页面,则不会执行if块的主体,也不会发生重定向。默认情况下,HTTPS通过端口443。如果用户通过普通HTTP进行访问,则此代码使用位置头将用户重定向到HTTPS 301指示浏览器在该URL上的后续请求中始终将HTTP重定向到HTTPS 在psuedo代码中,它执行以下操作:
if (user is NOT visiting through HTTPS)
redirect permanently to the same URL, but then through HTTPS
所以不,这不是多余的,因为如果有人使用HTTPS访问该页面,if块的主体将不会执行,也不会发生重定向
SSL需要端口443
不总是这样。这是默认端口。HTTPS可以配置为在其他端口上运行。更好的检查方法是:
if ( !isset($_SERVER['HTTPS']) || strtolower($_SERVER['HTTPS']) != 'on') {
}
被永久移动的设备是用来做什么的
发件人:
已为请求的资源分配了新的永久URI和任何
将来对此资源的引用应使用返回的
URI
换句话说,浏览器应该记住所请求的URI已被移动,并在用户再次请求旧URI时请求新URI
默认情况下,它应该保持在同一页上,不是多余的吗
代码并不是这样做的。当用户请求非https版本时,它将重定向到https版本
SSL需要端口443
不总是这样。这是默认端口。HTTPS可以配置为在其他端口上运行。更好的检查方法是:
if ( !isset($_SERVER['HTTPS']) || strtolower($_SERVER['HTTPS']) != 'on') {
}
被永久移动的设备是用来做什么的
发件人:
已为请求的资源分配了新的永久URI和任何
将来对此资源的引用应使用返回的
URI
换句话说,浏览器应该记住所请求的URI已被移动,并在用户再次请求旧URI时请求新URI
默认情况下,它应该保持在同一页上,不是多余的吗
代码并不是这样做的。当用户请求非https版本时,它将重定向到https版本。首先,该函数按照您的想法执行 让我们逐一了解您想了解的内容:
header("HTTP/1.1 301 Moved Permanently");
这将设置HTTP响应状态代码。代码:301
。消息:已永久移动
301是一个永久重定向,它只是告诉浏览器(HTTP客户端),下次直接使用新地址而不是请求的地址
新地址带有位置:
标题
header("Location: .");
这个代码完全是错误的代码。别指望它能奏效。我假设有人想再次重定向到同一页,但这种方式不起作用。位置:
后面需要跟一个绝对URL,这是一个相对URL,不起作用。绝对URL总是以http://
或https://
开头,并包含主机名。首先,函数按照您的想法执行
让我们逐一了解您想了解的内容:
header("HTTP/1.1 301 Moved Permanently");
这将设置HTTP响应状态代码。代码:301
。消息:已永久移动
301是一个永久重定向,它只是告诉浏览器(HTTP客户端),下次直接使用新地址而不是请求的地址
新地址带有位置:
标题
header("Location: .");
这个代码完全是错误的代码。别指望它能奏效。我假设有人想再次重定向到同一页,但这种方式不起作用。位置:
后面需要跟一个绝对URL,这是一个相对URL,不起作用。绝对URL总是以http://
或https://
开头,并包含主机名。FWIW,您可能应该为此问两个不同的问题,因为它们完全不同。你会得到更具体的+更好的答案