小编今天在使用MxSrvs运行thinPHP项目的时候,直接把项目目录直接放在了网站根目录里面,发现默认控制器的访问是没有问题的,但是其他的控制器以及直接输入默认的控制器全部显示的事404。后来发现其实是需要配置下的,而且也可以不放在网站根目录里面。
首先点击左侧的配置编辑--》再点击Nginx--》再点击最后一行的加号
1.png

然后就会弹出一个框,然后注入域名,项目名,项目目录就可以了。
2.png

这时候就会生成一个配置文件,然后在配置文件里面加入以下内容(是新弹出来的配置文件里面)

    location /
    {
        index index.php;
        #ThinkPHP REWRITE支持
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?s=$1 last;
            break;
        }
    }

完整的就是

server {
    listen            80;
    server_name        devapi.sunxiaoning.com;
    root            /; # 自己的项目的位置
    #access_log        /; # 自己项目日志的位置
    include            vhosts/_nginx.vhost.fpm;
    location /
    {
        index index.php;
        #ThinkPHP REWRITE支持
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?s=$1 last;
                        # rewrite ^/index.php/(.*)$ /index.php?s=$1 last; # 域名后面有index.php
            break;
        }
    }
}

然后在nginx的配置文件里面的PHP里面加入:

location ~ \.php$ {
            root           /Applications/MxSrvs/www;
            fastcgi_pass   127.0.0.1:10080;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_split_path_info ^(.+\.php)(.*)$;     #增加这一句  
            fastcgi_param PATH_INFO $fastcgi_path_info;    #增加这一句
            include        fastcgi_params;
        }
Last modification:October 21, 2020
If you think my article is useful to you, please feel free to appreciate