本文目录导读:

通用跳转(推荐)
<?php
// 在页面最顶部添加
if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') {
// 获取完整的HTTPS URL
$redirect_url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
// 301永久重定向
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $redirect_url);
exit;
}
支持代理服务器的跳转
<?php
// 检测是否通过HTTPS访问(支持代理)
function isHttps() {
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
return true;
}
// 检查X-Forwarded-Proto头(用于代理服务器)
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
return true;
}
// 检查服务器端口
if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) {
return true;
}
return false;
}
// 强制跳转
if (!isHttps()) {
$redirect_url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $redirect_url);
exit;
}
带session保护的跳转
<?php
// 强制HTTPS,同时保证Session安全
if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') {
// 可选:保存session并重新开始
if (session_status() === PHP_SESSION_ACTIVE) {
session_write_close();
}
$redirect_url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $redirect_url);
exit;
}
// 强制使用安全Cookie(建议)
ini_set('session.cookie_secure', 1);
ini_set('session.cookie_httponly', 1);
.htaccess方式(Apache服务器)
如果不想用PHP代码,也可以使用.htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
nginx配置文件方式
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
最佳实践建议
- 放在文件最顶部:确保在任何输出之前执行跳转
- 使用301状态码:有利于SEO,告诉搜索引擎这是永久跳转
- 保留原始请求URI:确保用户访问的特定页面路径不会丢失
- 考虑代理服务器:如果你的网站使用CDN或负载均衡器,可能需要使用方法二
使用示例
<?php // 文件顶部 require_once 'security.php'; // 或直接写上面代码 // 后续正常逻辑 echo "这是安全的HTTPS页面";
选择哪种方法取决于你的服务器环境和具体需求,方法一最通用,方法二适合使用代理的场景。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播