nginx配置thinkphp的pathinfo

server {
    listen 80;
    server_name wxsearch.ngdna.com ;
    access_log /data/wwwlogs/access_nginx.log combined;
    root /data/wwwroot/wxsearch.ngdna.com;
    index index.html index.htm index.php;
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    location /nginx_status {
      stub_status on;
      access_log off;
      allow 127.0.0.1;
      deny all;
    }

location ~ \.php {
     root /data/wwwroot/wxsearch.ngdna.com;
        fastcgi_pass unix:/dev/shm/php-cgi.sock;
        fastcgi_index  index.php;
    ##先加载默认的fastcgi配置项
    include        fastcgi_params;
    ##正则解析路径,先使用set指令产生两个nginx变量并赋值
    ##此处先将$path_info值赋值为空
    set $path_info "";
    set $real_script_name $fastcgi_script_name;
    ##正则匹配URI,若能匹配将产生两个子组
    if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
        ##将两个子组赋值给刚生成的两个nginx变量
        set $real_script_name $1;
        set $path_info $2;
    }
    ##将可能匹配到的$path_info值通过fastcgi_param指令设置进去
    fastcgi_param PATH_INFO       $path_info;
    fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
    ##覆盖fastcgi_params文件中默认的SCRIPT_NAME配置项
    fastcgi_param SCRIPT_NAME     $real_script_name;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容