本帖最后由 god_for 于 2014-04-23 16:50:23 编辑

解决方案 »

  1.   

    对比一下有什么不同server {
           listen  80;
           server_name     www.phpno.com;
           root /home/www/www_phpno_com/admin_wwwroot;
           access_log off;
           error_page 404  /404.html;
           location /404.html {
                   root /home/www/www_phpno_com/admin_wwwroot;
           }
           location /{
                   index index.html index.htm index.php;
                   if (-e $request_filename) {
                           break;
                   }
                   if (!-e $request_filename) {
                           rewrite ^/(.*)$ /index.php/$1 last;
                           break;
                   }
           }
     
           location ~ .+\.php($|/) {
               root           /home/www/www_phpno_com/admin_wwwroot;
               fastcgi_index index.php;
               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_pass   127.0.0.1:9000;
           #    fastcgi_index  index.php;
           #    fastcgi_param  SCRIPT_FILENAME  /home/www/www_phpno_com/admin_wwwroot/$fastcgi_script_name;
           #    fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html/$fastcgi_script_name;
               include        fastcgi_params;
           }
       }
      

  2.   

    感谢楼上,
    我发现我只要配置fastcgi的location ~ .*\.(php|php5)?$  改为你的location ~ .+\.php($|/)
    就全解决了
    下面是我的facgi param:
         fastcgi_pass  127.0.0.1:9000;
         fastcgi_index index.php;
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param  QUERY_STRING       $query_string;
    fastcgi_param  REQUEST_METHOD     $request_method;
    fastcgi_param  CONTENT_TYPE       $content_type;
    fastcgi_param  CONTENT_LENGTH     $content_length;fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
    fastcgi_param  REQUEST_URI        $request_uri;
    fastcgi_param  DOCUMENT_URI       $document_uri;
    fastcgi_param  DOCUMENT_ROOT      $document_root;
    fastcgi_param  SERVER_PROTOCOL    $server_protocol;fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
    fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;fastcgi_param  REMOTE_ADDR        $remote_addr;
    fastcgi_param  REMOTE_PORT        $remote_port;
    fastcgi_param  SERVER_ADDR        $server_addr;
    fastcgi_param  SERVER_PORT        $server_port;
    fastcgi_param  SERVER_NAME        $server_name;# PHP only, required if PHP was built with --enable-force-cgi-redirect
    fastcgi_param  REDIRECT_STATUS    200