FAQ

Page Discussion History

Codeigniter

Revision as of 20:31, 10 July 2013 by Nrivoli (Talk | contribs)

server {
        server_name domain.tld;
 
        root /var/www/codeignitor;
        index index.html index.php;
 
        # set expiration of assets to MAX for caching
        location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
                expires max;
                log_not_found off;
        }
 
        location / {
                # Check if a file or directory index file exists, else route it to index.php.
                try_files $uri $uri/ /index.php;
        }
 
        location ~* \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                include fastcgi.conf;
        }
}

After this, make sure that your codeIgniter config.php contains the following information:

$config['base_url']	= "http://domain.tld/";
$config['index_page'] 	= "";
$config['uri_protocol']	= "REQUEST_URI";

An alternative configuration, production ready.

server {
        listen       80;
        server_name  localhost;
        root   /var/www/html/ci;
        autoindex on;
        index index.php;
 
        location / {
            access_log  /tmp/nginx-ci.log  main;
            try_files $uri $uri/ /index.php;
 
            location = /index.php {
                access_log  /tmp/nginx-ci-php.log  main;
                fastcgi_pass   127.0.0.1:6969;
                fastcgi_param  SCRIPT_FILENAME /var/www/html/ci$fastcgi_script_name;
                include        fastcgi_params;
            }
        }
 
        location ~ \.php$ {
            return 444;
        }
 
 
}