Part of the EllisLab Network
x
 
Create New Page
 View Previous Changes    ( Last updated by Colin Williams )

SSL Handling

The Problem: You have certain pages that you want to load through SSL, but you want to continue using CodeIgniter’s URL helper.

The Answer: HTTPS Routing with mod_rewrite

We’re going to use mod_rewrite to specify entry and exit points for areas of our application that need SSL encryption. When a user hits an entry point, every link created with a URL Helper function will point to an encrypted URL until the user hits an exit point. Important Note: Your base_url must be set to “/” in your config file. This code will live in your .htaccess file.

An entry:

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

An exit:

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

Duplicate the code for various entry and exit points.