nginx 支持二级域名和pathinfo

/etc/nginx/pathinfo.conf

  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  REQUEST_URI        $request_uri;
  fastcgi_param  DOCUMENT_URI       $document_uri;
  fastcgi_param  DOCUMENT_ROOT      $document_root;
  fastcgi_param  SERVER_PROTOCOL    $server_protocol;
  fastcgi_param  HTTPS              $https if_not_empty;
 
  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;


虚拟主机配置文件

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;


    server_name *.xxxx.com;
    charset UTF-8;
    root /var/site;
    index index.html index.htm index.php;


    if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) {
        set $subdomain /$1;
    }


    location / {
        root /var/site$subdomain;
        index index.html index.php;
     }


    location ~ \.php {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include pathinfo.conf;
        set $real_script_name $fastcgi_script_name;
        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
            set $real_script_name $1;
            set $path_info $2;
        }


        fastcgi_param SCRIPT_FILENAME $document_root$subdomain$real_script_name;
         fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;
    }
}



猜你喜欢

转载自blog.csdn.net/lkjx82/article/details/52692837