gpt4 book ai didi

php - 从 HTTPS 重定向到 HTTP

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:12 26 4
gpt4 key购买 nike

Web 应用程序是使用 CodeIgniter 构建的,我使用的是 Cloudflare 的 Flexible SSL。

页面通过 HTTPS 加载,但只要有重定向,页面就会通过 HTTP 加载。从那时起,所有页面都通过 HTTP 提供。

这是一个例子:

public function logout()
{
$this->session->sess_destroy();
redirect('/');

}

注销功能后,所有页面都通过 HTTP 加载。

如何确保页面在重定向后通过 HTTPS 加载?

这是我的 .htaccess 文件的内容:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.myurl.com/$1 [R,L]

最佳答案

简单的方法可能是像这样设置 base_url

$config['base_url'] = "https://yoursite.com/";

这将导致所有访问 $config['base_url'] 的 CI 函数 - 包括 redirect() - 使用 https。

不经常谈论的是 base_url() 通过使用第二个参数来强制协议(protocol)的能力。例如

echo base_url("blog/post/123", 'https'); 

您可以使用 .htaccess 强制重定向到 https 协议(protocol)。将其置于现有命令之上。

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

关于php - 从 HTTPS 重定向到 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43855444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com