2012-04-02 79 views
3

我很難嘗試強制https(ssl)到codeiginiter框架上的特定頁面。我嘗試了很多方法,但都沒有成功。唯一的方法是改變$ config ['base_url']站點鏈接,以https而不是http開頭。結果是所有鏈接都設置爲ssl(整個站點),這是沒有意義的,因爲我不需要在任何地方使用SSL。我在登錄頁面中使用了一些php代碼,所以我放棄了一些麻煩。codeigniter,在特定頁面上強制ssl

我想知道這是一個很好的方法如何做到這一點,任何想法?

感謝,

回答

4

你需要添加條件對.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

相關問題