访问基于ThinkPHP的Nginx+php出现404错误的解决方法

时间:2021-10-29

我在使用Nginx+php基于ThinkPHP学习时,基于PATHINFO访问直接出现404错误,原来是Nginx不支持。下面分享一下解决方式

ThinkPHP采用单一入口模式访问应用,下面的访问是等效的:

http://serverName/index.php

http://serverName/index.php/Home/Index/index

这种URL模式就是系统默认的PATHINFO模式,不同的URL模式获取模块和操作的方法不同,ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式。

修改nginx.conf文件:

  1. location  ~ .+.php($|/){ 
  2.           #root           html; 
  3.           fastcgi_pass   127.0.0.1:9000; 
  4.           fastcgi_index   index.php; 
  5.    fastcgi_split_path_info  ^(.+.php)(/.*)$;   
  6.            fastcgi_param  PATH_INFO $fastcgi_path_info;  
  7.           fastcgi_param  SCRIPT_FILENAME  D:/www$fastcgi_script_name; 
  8.           include         fastcgi_params; 
  9.        } 
    收藏