codeigniter,在特定页面上强制ssl

问题描述:

我很难尝试强制https(ssl)到codeiginiter框架上的特定页面。我尝试了很多方法,但都没有成功。唯一的方法是改变$ config ['base_url']站点链接,以https而不是http开头。结果是所有链接都设置为ssl(整个站点),这是没有意义的,因为我不需要在任何地方使用SSL。我在登录页面中使用了一些php代码,所以我放弃了一些麻烦。codeigniter,在特定页面上强制ssl

我想知道这是一个很好的方法如何做到这一点,任何想法?

感谢,

你需要添加条件对.htaccess利用SSL端口选定网址唯一的工作。

下面是例子,该怎么办

RewriteEngine on 

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} controller/function 
RewriteRule ^(.*)$ https://www.yourdomain.com/controller/function[R=301,L] 

RewriteCond %{SERVER_PORT} 443 
RewriteCond %{REQUEST_URI} controller/function 
RewriteRule ^(.*)$ https://www.yourdomain.com/controller/function[R=301,L] 

RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L] 

P.S:您base_url必须在您的配置文件设置为“/”。 欲了解更多信息,请查阅http://codeigniter.com/wiki/SSL_Handling

+0

感谢您的回复。顺便说一句,你确定这段代码有效吗?我试过了,我的整个网站都无法运作。浏览器给出了一个错误消息,说我的网站已关闭或正在维护中......任何想法? – 2012-04-02 07:36:39

+0

好吧,将再次尝试 – 2012-04-02 07:51:01

+0

现在的事情都很好......下一步,我可以使用https? – 2012-04-02 07:56:43