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

时间:2022-06-01 21:29:43

概述

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

Nginx配置文件

  1. # 
  2. # The default server 
  3. # 
  4. server { 
  5.   listen    80 default_server; 
  6.   #server_name www.example.com; 
  7.   #charset koi8-r; 
  8.   #access_log logs/host.access.log main; 
  9.   # Load configuration files for the default server block. 
  10.   include /etc/nginx/default.d/*.conf; 
  11.   #location / { 
  12.   #  root  /usr/share/nginx/html; 
  13.   #  index index.html index.htm; 
  14.   #} 
  15.   location / { 
  16.  root      /var/www/project_name; 
  17.  index index.html index.php; 
  18.     if (!-e $request_filename){ 
  19.       rewrite ^(.*)$ /index.php?s=$1 last; 
  20.     } 
  21.   } 
  22.   error_page 404       /404.html; 
  23.   location = /404.html { 
  24.     root  /usr/share/nginx/html; 
  25.   } 
  26.   # redirect server error pages to the static page /50x.html 
  27.   # 
  28.   error_page  500 502 503 504 /50x.html; 
  29.   location = /50x.html { 
  30.     root  /usr/share/nginx/html; 
  31.   } 
  32.   # proxy the PHP scripts to Apache listening on 127.0.0.1:80 
  33.   # 
  34.   #location ~ \.php$ { 
  35.   #  proxy_pass  http://127.0.0.1; 
  36.   #} 
  37.   # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
  38.   # 
  39.   location ~ \.php$ { 
  40.     root      /var/www/project_name; 
  41.     fastcgi_pass  127.0.0.1:9000; 
  42.     fastcgi_index index.php; 
  43.     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  44.     include    fastcgi_params; 
  45.   } 
  46.   # deny access to .htaccess files, if Apache's document root 
  47.   # concurs with nginx's one 
  48.   # 
  49.   #location ~ /\.ht { 
  50.   #  deny all; 
  51.   #} 

总结

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