yyhq 发表于 2016-1-28 10:43:40

3.x nginx下不支持pathinfo?

3.x nginx下不支持pathinfo?如何配置?2.x没有问题

awinlei 发表于 2016-3-8 17:35:35

1,nginx基础配置:
      
主要的配置文件是 : nginx.conf, fastcgi_params,vhosts文件夹
nginx.conf:
user                  nobody nobody;
worker_processes      8;
worker_rlimit_nofile65535;

error_log             logs/error.log;
pid                     logs/nginx.pid;

events {
      # use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
      use epoll;

      # web server   : max_clients = worker_processes * worker_connections
      # proxy server : max_clients = worker_processes * worker_connections / 4
      worker_connections8192;
}

http {
      include                  mime.types;
      default_type               application/octet-stream;

      log_format      main      '$remote_addr - $remote_user [$time_local] "$request" '
                                 '$status $body_bytes_sent "$http_referer" $request_body '
                                 '"$http_user_agent" "$http_x_forwarded_for"';

      #access_log               logs/access.logmain;

      sendfile                  on;
      tcp_nopush                  on;
      tcp_nodelay               on;

      gzip                        off;
      gzip_comp_level             5;
      gzip_http_version         1.0;
      gzip_min_length             1024;
      gzip_buffers                48k;
      gzip_types                  text/plain application/x-javascript text/css application/xml;

      client_header_buffer_size   128k;
      large_client_header_buffers 4 16k;
      client_max_body_size 32m;

      #fastcgi_connect_timeout   300;
      #fastcgi_send_timeout      300;
      #fastcgi_read_timeout      300;
      #fastcgi_buffers             4 256k;
      #fastcgi_busy_buffers_size   256k;
      #fastcgi_buffer_size         128k;

      # The following includes are specified for virtual hosts

      include      vhosts/*.conf;
      #include      vhosts/t0.xgame.uuzu.com.conf;
      #include      vhosts/default.conf;
}

80.conf

server {
      listen       80 backlog=8192;
      server_nametinlei.com;

      root   /data/code/ci;
      indexindex.php;

      charset utf-8;
      keepalive_timeout    300;

      access_loglogs/80_access.logmain;
      #access_logoff;
      #include access_ctrl.conf;
      #if (-d $request_filename)
      #{
      #   rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
      #}

      #error_page404            /404.html;

      error_page   500 502 503 504/50x.html;

      location = /50x.html {
            root   html;
      }
#此处配置ci的路由机制
      location / {
          try_files $uri $uri/ /index.php;
      }

      location ~ .+\.(do)?$
      {
            fastcgi_pass          unix:/dev/shm/php-fpm.sock;
            fastcgi_connect_timeout   300;
            fastcgi_send_timeout      300;
            fastcgi_read_timeout      300;
            fastcgi_buffers             64 16k;
            fastcgi_buffer_size         64k;
            fastcgi_busy_buffers_size   256k;
            fastcgi_temp_file_write_size 256k;
            fastcgi_index         index.php;
            include               fastcgi_params;
      }

      location ~ .+\.(php)?$
      {
             if ($request_filename ~* (.*)\.php) {
               set $php_url $1;
             }
             if (!-e $php_url.php) {
               return 404;
             }
            fastcgi_pass          unix:/dev/shm/php-fpm.sock;
            fastcgi_connect_timeout   300;
            fastcgi_send_timeout      300;
            fastcgi_read_timeout      300;
            fastcgi_buffers             64 16k;
            fastcgi_buffer_size         64k;
            fastcgi_busy_buffers_size   256k;
            fastcgi_temp_file_write_size 256k;
            fastcgi_index         index.php;
            include               fastcgi_params;
      }



      # deny access to .htaccess files, if Apache's document root
      # concurs with nginx's one
      #

       location ~ .+\.(dat|sql|tgz|gz|tar|zip)?$
      {
            deny all;
      }   

      location ~ /\.ht {
            denyall;
      }
    }
fastcgi_params
fastcgi_paramQUERY_STRING       $query_string;
fastcgi_paramREQUEST_METHOD   $request_method;
fastcgi_paramCONTENT_TYPE       $content_type;
fastcgi_paramCONTENT_LENGTH   $content_length;

fastcgi_paramSCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_paramSCRIPT_NAME      $fastcgi_script_name;
fastcgi_paramREQUEST_URI      $request_uri;
fastcgi_paramDOCUMENT_URI       $document_uri;
fastcgi_paramDOCUMENT_ROOT      $document_root;
fastcgi_paramSERVER_PROTOCOL    $server_protocol;
fastcgi_paramHTTPS            $https if_not_empty;

fastcgi_paramGATEWAY_INTERFACECGI/1.1;
fastcgi_paramSERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_paramREMOTE_ADDR      $remote_addr;
fastcgi_paramREMOTE_PORT      $remote_port;
fastcgi_paramSERVER_ADDR      $server_addr;
fastcgi_paramSERVER_PORT      $server_port;
fastcgi_paramSERVER_NAME      $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_paramREDIRECT_STATUS    200;

2,ci配置文件修改
   
application/config.php 修改:
$config['index_page'] = ''; #默认值为 index.php
$config['uri_protocol'] = 'REQUEST_URI'; #默认值为 AUTO
links:
http://fbsender.github.io/php/2014/12/18/php-ci-nginx-config.html

https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/

http://stackoverflow.com/questions/17798457/how-can-i-make-this-try-files-directive-work

yyhq 发表于 2016-1-28 10:48:58

nginx版本1.9.9

Hex 发表于 2016-2-1 10:52:14

支持的,google 搜索 nginx codeigniter 有 NGINX 官方文档。
页: [1]
查看完整版本: 3.x nginx下不支持pathinfo?