So… I’ve been trying CI/Bonfire as a quick PHP dev platform. Unfortunately, it’s pre-packaged for Apache’s .htaccess, so it takes a bit of configuration to get working on nginx. The following assumes PHP-FPM is actually working though.
Installing CI/Bonfire
For some reason, the install portion has its own index.php. So the default PHP pretty URL rewriting fails – or in this case, causes infinite redirects.
The trick was to add an extra location to nginx’s config file:
# Installing Bonfire/CI requires this - install has its own index.php
location /install/ {
try_files $uri $uri/ /install/index.php;
}Once the install is done, we can swap it out for URL rewriting:
# URL rewriting generally requires this, PHP specific
location / {
try_files $uri $uri/ /index.php;
allow all;
}There was one extra thing necessary to do: change in the index_page variable in bonfire/application/config/config.php. This was probably a result of my testing to try and get things working, but I had “index.php” in it, so all the generated pages had index.php/ prepended to the internal links.
Hat tip to http://ericlbarnes.com/posts/codeigniter-nginx-virtual-host/ for a good starting point