最完美ThinkPHP Nginx 配置文件

一个配置文件,完美支持普通,兼容,pathinfo,rewrite4种url模式,别怪我没提醒你收藏哦. 常见的静态文件404时也不会再去跑一遍fastcgi浪费资源。

server {

    listen       80;

    server_name  _;

    root /data1/tp5/public;     # 项目路径

    index  index.html index.htm index.php;

    error_page  404              /404.html;

    location = /404.html {

        return 404 'Sorry, File not Found!';

    }

    error_page  500 502 503 504  /50x.html;

    location = /50x.html {

        root   /usr/share/nginx/html; # windows用户替换这个目录

    }

    location / {

        try_files $uri @rewrite;

    }

    location @rewrite {

        set $static 0;

        if  ($uri ~ \.(css|js|jpg|jpeg|png|gif|ico|woff|eot|svg|css\.map|min\.map)$) {

            set $static 1;

        }

        if ($static = 0) {

            rewrite ^/(.*)$ /index.php?s=/$1;

        }

    }

    location ~ /Uploads/.*\.php$ {

        deny all;

    }

    location ~ \.php/ {

       if ($request_uri ~ ^(.+\.php)(/.+?)($|\?)) { }

       fastcgi_pass 127.0.0.1:9000;

       include fastcgi_params;

       fastcgi_param SCRIPT_NAME     $1;

       fastcgi_param PATH_INFO       $2;

       fastcgi_param SCRIPT_FILENAME $document_root$1;

    }

    location ~ \.php$ {

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi_params;

    }

    location ~ /\.ht {

        deny  all;

    }

}

你可能感兴趣的:(最完美ThinkPHP Nginx 配置文件)