您的位置:首页 > 运维架构 > Nginx

thinkphp nginx下面完美配置解决404 file not found

2017-01-08 23:32 796 查看
server {

    listen       80;

    server_name  thinkphp.lo;

    root /var/www;

    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;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: