Skip to main content

Multiple configuration files for CodeIgniter

I recently came across a problem which is very common when deploying a web application. This time, I'm trying it with CodeIgniter. I purchased a domain and a small shared hosting to which I deploy a simple app. Along with it, I purchased the SSL so it should be accessed with https rather than http. Even all http request should be redirected to https, that's two problems.

A way to solve it is via .htaccess in the root app directory. For multi environments, we can set a CI_ENV variable via


    SetEnv CI_ENV development


So in our application/config directory we can add production directory which consist of config.php and database.php. These settings are then for production. So when we deploy the application, we need to updated those settings for production. As for me, I also have test and stage settings so I also have those directories in my config directory with config.php and database.php corresponding to that environments. This is preferred since we need to test it and put it to stage when testing is done with no issues. Stage connects to the production data but with the php files from my develop branch. In a way this tests the application with the production data. If all goes well, we can proceed to deploying to production.

Another problem is the https redirect. We can solve it with

# Uncomment these lines for https redirection
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# End http redirection

This is still in the .htaccess file. Just below the RewriteEngine on. So accessing the site via http will redirect to https.

And... we are good to go. I just couldn't find a solution for multiple .htaccess for different environments. But maybe it'll be for another post. Right now, I comment/uncomment the redirect statements when I develop locally and when I deploy it to my hosting. Anyway, I'm happy with what I have for now so yeah, if you have comments and suggestions please do comment below and I'll try to answer as best as I can.

Thanks and have a great day everyone!

Comments

Popular posts from this blog

My Linux Journey: Hello World with .NET

Today marks the beginning of my journey into the world of Linux. As a lifelong Windows user, venturing into a new operating system felt like stepping into uncharted territory. But armed with curiosity and a desire to explore, I took the leap. My first task? A simple "Hello World" program using .NET. With the installation of .NET 8.0 on my Linux machine, I was ready to dive in. I created a new directory for my project, aptly named "helloworld," and ran the following commands: dotnet new console -o helloworld cd helloworld dotnet run And just like that, the words "Hello World" appeared on my terminal screen, a small victory but a significant milestone in my Linux journey. As I reflect on this humble beginning, I am reminded of the endless possibilities that lie ahead. From mastering the command line to exploring the vast ecosystem of open-source tools and technologies, there is much to learn and discover. Join me as I embark on this exciting adventure, one c...

Python Hydrology

Recently I'm learning Python and encountered the Hydrology book. Had to upgrade some of python packages and some libraries needed to get working with the book. There is an instruction though about mostly using pip install packages need for the book. The problem is I can't get it work. It's missing some things so I did a little google and hopefully this is a compilation of the things I need to work with the examples of the book. First off, I updated the apt-get $ sudo apt-get update Next is I installed the pip package manager. I'm not too sure but I have Ubuntu 10 and it doesn't have the pip installed. So I installed using the command below. $ sudo apt-get install python-pip Now the development packages for python. $ sudo apt-get install python-dev Most of the examples uses the scientific number packages so I installed numpy and other packages I'm not quite aware of. It's just that some of the examples probably in the later part of the book use...

Reasons why you don't apply to some Companies

Just a note, this is just a joke. So for some companies, I would ask you to evaluate me first not base your judgement for hiring me in this post. :) Recently, I planned on getting another job. This time with programming languages I'm not familiar with. Just to get my hands on. Something like Python or Ruby, or JS and NoSQL. You know what I mean. Then came, job posts at some Ads. Recruiters really think they are smart. They're not even reviewing what they're posting and not getting consultation from experts offering a job. For example SEO Experts (20k to 30k) with GREAT “DAYTIME” CAREER OPPORTUNITIES A NEW COMPANY soon to expand OPERATIONS in CEBU!!! I'm sure 30k is not that great. And what's with the DAYTIME? Also Perfect Worklife Balance: “Daytime Work” and Guaranteed 5 day work week only Easy to Manage Accounts Excellent Compensation based on expertise, we are only looking for top talent and pay accordingly Performance and Attendance bonuses...