Home  >  Article  >  Backend Development  >  php Nginx server configuration supports pathinfo

php Nginx server configuration supports pathinfo

不言
不言Original
2018-04-13 11:10:291815browse

本篇文章给大家分享的内容是关于php Nginx服务器配置支持pathinfo,有着一定的参考价值,有需要的朋友可以参考一下

第一种方法:

修改Nginx的配置未见nginx.conf

location ~ \.php {  
        fastcgi_pass 127.0.0.1:9000;  
        fastcgi_index index.php;  
        include /usr/local/etc/nginx/fastcgi.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$real_script_name;  
        fastcgi_param SCRIPT_NAME $real_script_name;  
        fastcgi_param PATH_INFO $path_info;  
}

如果只应用于特定host 则不需要修改fastcgi.conf的配置文件,别忘记重新加载nginx配置


第二种方法:

nginx.conf代码如下:

location ~ [^/]\.php(/|$) {
      #fastcgi_pass remote_php_ip:9000;
      fastcgi_pass unix:/dev/shm/php-cgi.sock;
      fastcgi_index index.php;
      include fastcgi.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$real_script_name;  
        fastcgi_param SCRIPT_NAME $real_script_name;  
        fastcgi_param PATH_INFO $path_info;
    }

fastcgi.conf代码如下:

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  REQUEST_SCHEME     $scheme;
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;

重新加载nginx:

nginx -s reload

相关推荐:

nginx下启动php-fpm出现错误的原因以及解决方案

Nginx的配置文件怎样分段下载

The above is the detailed content of php Nginx server configuration supports pathinfo. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:const and global in phpNext article:const and global in php