最完美ThinkPHP Nginx 配置文件

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

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;
     }
 }

 

木易的技术记录 » 最完美ThinkPHP Nginx 配置文件

顶 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

置顶文章