我在codeigniter中使用https连接(https://www.bla.com/logout)时遇到问题,仅当我使用http(http://www.bla.com/logout)时才能正常工作。 关于这个的任何想法?请帮帮我
SECURED
[https] www.bla.com/index.php/logout -working
[https] www.bla.com/logout - 无法正常工作
非安全
[http] www.bla.com/logout - working
答案 0 :(得分:2)
我和你有同样的问题。在我的例子中,问题是我为非ssl目录设置了“AllowOverride All”,为我的httpd.conf中的ssl目录设置了“AllowOverride None”。
请确保httpd.conf中的“AllowOverride”选项设置为“AllowOverride All”,用于SSL和非SSL目录。
<Directory "/var/www/nonssl_dir/">
...
AllowOverride All
...
</Directory>
<Directory "/var/www/ssl_dir/">
...
AllowOverride All
...
</Directory>
答案 1 :(得分:0)
首先,您需要确保已在服务器上安装SSL。如果您没有SSL证书,您可以从Go Daddy等第三方服务购买SSL证书。然后将其安装到您的服务器上。
之后,您可以通过调用https协议来测试SSL,例如:https://www.bla.com/
如果有效,那么您只需要在Code Igniter配置文件中添加一些代码来处理SSL,如下所示:
$config['base_url'] = ($_SERVER['SERVER_PORT'] == 443 ? 'https' : 'http') . "://example.com/";