Codeigniter 3,适用于“http”但不适用于“https”

Posted

技术标签:

【中文标题】Codeigniter 3,适用于“http”但不适用于“https”【英文标题】:Codeigniter 3, works on 'http' but not on 'https' 【发布时间】:2019-02-28 23:18:00 【问题描述】:

我的 htaccess

重写引擎开启 RewriteBase / RewriteCond $1 !^(index\.php|uploads|images|ws|vendor|css|js|robots\.txt) 重写规则 ^(.*)$ /index.php/$1 [L]

我还隐藏了我的 index.php

加载失败:- https://www.abc.in/abc-xyz-fdg

作品:- https://www.abc.in/index.php/abc-xyz-fdg

【问题讨论】:

你是否更改了config.php文件$config['base_url']中的base_url。 请查看页面***.com/questions/42625147/… @BalasahebBhise 这也没用 @GufranHasan $config['base_url'] = "https://www.abc.in/" @shasha1589,对对对,你也可以试试这个解决方案sajjadhossain.com/2008/10/27/ssl-https-urls-and-codeigniter 【参考方案1】:

试试这个

RewriteCond %HTTPS !on
RewriteRule (.*) https://%HTTP_HOST%REQUEST_URI

【讨论】:

【参考方案2】:

您需要对两个文件进行更改。

    config.php文件$config['secure_base_url']=" https://www.abc.in/";

    然后打开url_helper.php文件(system/helpers/url_helper.php)并修改https://sajjadhossain.com/2008/10/27/ssl-https-urls-and-codeigniter/中的代码

    现在,在Config.php 文件(system/Core/Config.php) 中添加以下代码,如https://sajjadhossain.com/2008/10/27/ssl-https-urls-and-codeigniter/ 中一样

reference

【讨论】:

(system/libraries/Config.php)我没有这个文件? 您使用的是哪个版本的 CI? 如果您使用的是最新版本 v3.1.9,那么它将位于system/Core/Config.php 我正在使用 3.1.9。我刚刚下载了一个新版本的 CI 来检查我的文件是否丢失。它不在新的下载中。 我做了必要的更改,但仍然没有帮助【参考方案3】:

这对我有用。

第 1 步

SSL 配置(使用 https 运行)

   允许覆盖所有
目录>

第 2 步

.htaccess 文件应该是这样的...

RewriteEngine On
RewriteCond %HTTPS !=on      
RewriteRule ^ https://%HTTP_HOST%REQUEST_URI [L,R=301]

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %REQUEST_FILENAME !-f
    RewriteCond %REQUEST_FILENAME !-d
    RewriteRule ^ index.php [L]
</IfModule> 

参考链接: HTTPS and Remove index.php on CodeIgniter

感谢那些尝试过我的人

编码愉快!!

【讨论】:

以上是关于Codeigniter 3,适用于“http”但不适用于“https”的主要内容,如果未能解决你的问题,请参考以下文章

vue中将汉字按照首字母排序,也适用于其他地方,但不适用多音字

部分视图部分适用于 JQuery,但不完全适用于 C# ASP.Net MVC 5

为啥逻辑适用于函数但不使用类,合并排序算法

我在 Angular 中使用动态编译器,但它只适用于视图引擎,但不推荐使用视图引擎

codeigniter 活动记录,生成,但不执行查询

403响应代码与http但不是在wordpress上的https