thinkphp 的几种URL_model在nginx上的配置

参考有用

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;

    }

}

 

 

 

 

server {

   listen       80;

   #listen       [::]:80 default_server;

    server_name  _;

  root         /home/www/default;

    index index.html index.htm index.php;

   # Load configuration files for the default server block.

   include /etc/nginx/default.d/*.conf;

   #tp rewrite模式

      #location / { 

       #if (!-e $request_filename) {

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

         #break;

      #}

    #}

   location ~ \.php$ {

      #root /home/www/default; 

       try_files $uri =404;

      include fastcgi.conf;

       fastcgi_pass 127.0.0.1:9000;

   }

   #tp pathinfo模式    

    location ~ \.php {    

      root          /home/www/default;

       fastcgi_pass   127.0.0.1:9000;

      fastcgi_index  index.php;

      fastcgi_split_path_info ^(.+\.php)(.*)$;     

      fastcgi_param PATH_INFO $fastcgi_path_info;    

      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

      include        fastcgi_params;

   }

   error_page 404 /404.html;

        location = /40x.html {

    }

   error_page 500 502 503 504 /50x.html;

      location = /50x.html {

  }

}

你可能感兴趣的:(thinkphp,nginx)