nginx multiple apps, and CodeIgniter

zaid tillman ztillma at gmail.com
Mon Jun 6 05:25:20 MSD 2011


I’ve been struggling with a “No input file specified” issue, and I’ve been
trying to figure out the routing issue. I am using fast-cgi, nginx (version
0.7.65) and CI 2.02
 # http://www.example.net/ci/                     /* Works */
# http://www.example.net/ci/index.php            /* Works */
# http://www.example.net/ci/index.php/welcome
    /* Put out "No input file specified." - a 404 in access.log */

The reason I see the problem is because I see this in the CI logs for *all*
http requests
DEBUG - 2011-06-05 19:47:23 --> No URI present. Default controller set.

I did not want to litter my first post with code, so here is the pertinent
info presented neatly:

I changed AUTO to others, and no change in behavior.
# /home/examples/example.net/public_html/ci/application/config/config.php
#standard configs except for the following:
$config['base_url']     = 'http://www.example.net/ci/';
$config['index_page'] = 'index.php';
$config['uri_protocol'] = 'AUTO';

I tried adding a new loc for /ci and that did not work (i.e got the “No
input file specified” error) so I took that off to get back to basics.
 # /etc/nginx/sites-enabled/www.example.net


server {
    server_name  example.net;
    rewrite ^(.*) http://www.example.net$1 permanent;
}
server {
    listen   80;
    server_name www.example.net;
    access_log /srv/www/www.example.net/logs/access.log;
    error_log /srv/www/www.example.net/logs/error.log debug;
    client_max_body_size 3M;
    location / {
        root   /srv/www/www.example.net/public_html;
        index  index.html index.htm index.php;
        if (!-e $request_filename) {
            rewrite ^.*$ /index.php last;
         }
    }
    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
              fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  /srv/www/www.example.net/
public_html$fastcgi_script_name;
    }
}

I went through the .httaccess route to remove the index.php, but did not
want to try too many things at once. I would like to get the bare bones
working and then add other layers.

Interestingly, $_SERVER[‘REQUEST_URI’] puts the correct URI, but
$this->uri->uri_string() is blank.

I’d be grateful for any advice and thanks in advance.


PS - this is cross posted from another
forum<http://codeigniter.com/forums/viewthread/190827/>,
and I hope it does not offend anyone :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20110605/7bdac724/attachment.html>


More information about the nginx mailing list