NGINX配置THINKPHP5.1,解决访问不了方法,并去除index.php

TP5部署于NGINX内,发现只能访问入口文件访问不了方法
可能原因:
NGINX配置没有支持PATHINFO。按照如下进行配置,再测试。

1.打开NGINX配置文件,找到 location ~ .php
2.然后在括号里面添加一下两行代码

fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;

3.就可以访问方法了,但需要带index.php,然后我们在location / {}内添加如下代码就可以啦。

if (!-e $request_filename){
     rewrite ^(.*)$ /index.php?s=$1 last;
}

切记,第三步的 if (!-e $request_filename){ } 操作,if与()中间必须有空格,否则会报如下错误。

thinkphp5.1部署在nginx服务器下静态资源文件(public文件夹下的文件例如图片)访问不了

if (!-e $request_filename){
    rewrite ^/Public/(.*)$ /Public/$1 break; //加这行代码,假设静态资源位于根目录下Public目录下
    rewrite ^(.*)$ /index.php?s=$1 last;
}

你可能感兴趣的:(NGINX配置THINKPHP5.1,解决访问不了方法,并去除index.php)