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
感谢您的回复。顺便说一句,你确定这段代码有效吗?我试过了,我的整个网站都无法运作。浏览器给出了一个错误消息,说我的网站已关闭或正在维护中......任何想法? – 2012-04-02 07:36:39
好吧,将再次尝试 – 2012-04-02 07:51:01
现在的事情都很好......下一步,我可以使用https? – 2012-04-02 07:56:43