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

服务器 发布日期:2024/11/1 浏览次数:1

正在浏览: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;
  #}
}

总结

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