Nginx下fastcgi_split_path_info导致CodeIgniter配置问题

Nginx下fastcgi_split_path_info导致CodeIgniter配置问题

突然发最近又有点懒散了,很久没有写东西了!今天谈点关于不是什么很新的问题,在nginx下配置ci框架时,由于path_info没有设定,导致ci url无法获取出错,导致route出错!对于php的很多框架,这个问题都是适用的!开始找了一些网上的 dome 基本都有问题,最后参考官方的资料才解决,不少不废话了… 直接code….

server {
        listen       80;
        server_name  app.i.enet.com.cn appmarket.i.enet.com.cn;
        root   /home/httpd/androidmarket;
        #index index.shtml index.html index.htm;
        autoindex on;

        #charset koi8-r;

        access_log  logs/app.access.log  main;
        error_log logs/app.error.log;
        default_type  text/plain;


        location / {
                index  index.shtml index.html index.htm;
                #rewrite ^/$ /index.php last; 
                #rewrite ^/(?!index\.php|robots\.txt|images|js|styles)(.*)$ /index.php/$1 last;
        }

        #error_page  404              /404.html;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   html;
        }

        location ~ .*\.php? {
                
                #fastcig 使用socket方式比较快...
                fastcgi_pass  unix:/tmp/nginx.socket;
                # fastcgi_pass  127.0.0.1:9000;
                # fastcgi_index index.php;
                 
                #下面只是了一些fastcgi.conf中定义的一些公共的东西 如果没有定义请自己开启 
                #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                #fastcgi_param SCRIPT_NAME $real_script_name;
         
                fastcgi_split_path_info ^(.+\.php)(.*)$; 
                #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
                fastcgi_param  PATH_INFO $fastcgi_path_info; 
                fastcgi_param  PATH_TRANSLATED $document_root$fastcgi_path_info; 
                
                # fastcgi的conf路径
                include /usr/local/nginx/conf/fastcgi_params;

        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
}

官方资料:http://wiki.nginx.org/HttpFastcgiModule#fastcgi_split_path_info