nginx虚拟主机配置 支持thinkphp的四种URL模式

作者: wxfeng 分类: 未分类 发布时间: 2017-06-08 00:00

转自:http://www.thinkphp.cn/topic/34380.html

一个配置文件,完美支持普通,兼容,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;
     }
 }

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注