Nginx下支持Thinkphp URL Rewrite的配置示例

概述

Nginx服务器现在已经成为相当流行的开源Web服务器,很多生产环境也都在使用Nginx服务器。现在做项目大多数时候都是在使用ThinkPHP,但是Nginx默认不支持ThinkPHP的pathinfo模式,需要进行一定的配置。

Nginx配置文件

  #  # The default server  #  server {    listen    80 default_server;    #server_name www.example.com;    #charset koi8-r;    #access_log logs/host.access.log main;    # Load configuration files for the default server block.    include /etc/nginx/default.d/*.conf;    #location / {    #  root  /usr/share/nginx/html;    #  index index.html index.htm;    #}    location / {   root      /var/www/project_name;   index index.html index.php;      if (!-e $request_filename){        rewrite ^(.*)$ /index.php?s=$1 last;      }    }    error_page 404       /404.html;    location = /404.html {      root  /usr/share/nginx/html;    }    # redirect server error pages to the static page /50x.html    #    error_page  500 502 503 504 /50x.html;    location = /50x.html {      root  /usr/share/nginx/html;    }    # proxy the PHP scripts to Apache listening on 127.0.0.1:80    #    #location ~ .php$ {    #  proxy_pass  http://127.0.0.1;    #}    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000    #    location ~ .php$ {      root      /var/www/project_name;      fastcgi_pass  127.0.0.1:9000;      fastcgi_index index.php;      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;      include    fastcgi_params;    }    # deny access to .htaccess files, if Apache's document root    # concurs with nginx's one    #    #location ~ /.ht {    #  deny all;    #}  }

总结

做个备份,方便以后查看:)

参与评论