How can I have CodeIgniter load specific pages using SSL?
There are few ways to tackle this.
Option 1:
I would probably have the code deployed to both folders, then in the file: /system/application/config/config.php, set your page to:
$config['base_url'] = "http://www.yoursite.com/";
or
$config['base_url'] = "https://www.yoursite.com/";
Then in your non-ssl VirtualHost folder, set your config to redirect protected pages by folder to the SSL site:
RedirectPermanent /sslfolder https://www.yoursite.com/sslfolder
Option 2:
Send everything to SSL and keep all your code in one folder
/system/application/config/config.php, set your page to:
$config['base_url'] = "https://www.yoursite.com/";
Other Options
There are some more hacky ways to do this with header() redirects, etc. but I don't think you want to maintain different code bases for this option. I don't recommend this but you could do something like:
$config['base_url'] = “http://” . $_SERVER['http_host'] . “/”;
In application/config/config.php, set base_url to:
$config['base_url'] = ($_SERVER['SERVER_PORT'] == 443 ? 'https' : 'http') . "://{$_SERVER['HTTP_HOST']}/";
This will allow it to work on any domain, which is convenient if you test locally.
I put following lines in ./application/config/config.php file and it works perfectly:
$protocol = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ) ? 'https' : 'http';$config['base_url'] = $protocol.'://www.yoursite.com';