FAQ

Page Discussion History

Codeigniter

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. You don't need to modify "config.php", except for removing "index.php"

$config['base_url']	= "";
$config['index_page'] 	= "";
$config['uri_protocol']	= "AUTO";
server {
        listen       80;
        server_name  localhost;
        root   /var/www/html/ci;
        autoindex on;
        index index.php;
 
        location / {
 
            try_files $uri $uri/ /index.php;
 
            location = /index.php {
 
                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;
        }
 
 
}