SSL不工作的Codeigniter

SSL不工作的Codeigniter,codeigniter,ssl,Codeigniter,Ssl,我已经尝试了大多数使用SSL的Codeigniter解决方案,但都没有成功 我需要的是整个网站在SSL下运行,这是一个有很多表单的网站,显示来自数据库的数据,就像一个管理部分,所以使用的唯一资源是css、js和一些图像,没有其他 这是我的config.php文件中的内容 $config['base_url'] = 'https://admin.example.ie/'; Main.htaccess RewriteEngine On RewriteCond %{REQUEST_FILENAME}

我已经尝试了大多数使用SSL的Codeigniter解决方案,但都没有成功

我需要的是整个网站在SSL下运行,这是一个有很多表单的网站,显示来自数据库的数据,就像一个管理部分,所以使用的唯一资源是css、js和一些图像,没有其他

这是我的config.php文件中的内容

$config['base_url'] = 'https://admin.example.ie/';
Main.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

order deny,allow
deny from all
allow from 86.XXX.XXX.XXX
application/.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

order deny,allow
deny from all
allow from 86.XXX.XXX.XXX
Options -Indexes
Options +FollowSymLinks
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,

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

    #When your application folder isn't in the system folder

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

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>
因此,正如我所看到的,SSL正在这里工作。 但是,如果我输入我的登录名和密码(主页只是一个登录页)并转到登录用户的主页,我将失去安全连接

["FCGI_ROLE"]=> string(9) "RESPONDER" 
["REDIRECT_STATUS"]=> string(3) "200" 
["HTTP_HOST"]=> string(28) "admin.example.ie" 
["HTTP_USER_AGENT"]=> string(72) "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0" 
["HTTP_CONNECTION"]=> string(5) "close" 
["SERVER_SIGNATURE"]=> string(73) "Apache Server at admin.example.ie Port 80" 
["SERVER_SOFTWARE"]=> string(6) "Apache" 
["SERVER_NAME"]=> string(28) "admin.example.ie" 
["SERVER_ADDR"]=> string(15) "217.XXX.XXX.XXX" 
["SERVER_PORT"]=> string(2) "80" 
["REMOTE_ADDR"]=> string(11) "86.XXX.XXX.XXX" 
["REMOTE_PORT"]=> string(5) "58392" 
["REDIRECT_URL"]=> string(15) "/employee/home" 
["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" 
["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" 
["REQUEST_METHOD"]=> string(3) "GET" 
["REQUEST_URI"]=> string(15) "/employee/home" 
你知道为什么会这样吗。我们可以将此项目移交给有此安全漏洞的客户

RewriteEngine On
RewriteCond     %{HTTPS} !=on      
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
尝试将其添加到htaccess的顶部,然后再添加其他规则

不要在


另外,您如何在应用程序中构建URL和表单操作?我会使用
而不是

我厌倦了尝试解决这个问题,所以我开始安装新的CodeIgniter,它成功了

基本url为

$config['base_url'] = 'https://admin.example.ie/';

一切正常,我用这些代码重建了网站。现在一切正常,我检查每个页面上的端口和https状态,以检查一切是否正常。

Hi Lee,部分正常。在employee controller中,home方法在Begging处有一个var_dump($_服务器),并在末尾加载默认视图。var_dump显示SSL正在使用,但几分钟后它加载了一个屏幕,显示:Firefox检测到服务器正在以一种永远不会完成的方式重定向对该地址的请求。这对我来说没有多大意义;主播('employee/clients','Review clients',数组('class'=>'view_client');表格公开(“员工/家庭/”)