小编今天在使用MxSrvs运行thinPHP项目的时候,直接把项目目录直接放在了网站根目录里面,发现默认控制器的访问是没有问题的,但是其他的控制器以及直接输入默认的控制器全部显示的事404。后来发现其实是需要配置下的,而且也可以不放在网站根目录里面。
首先点击左侧的配置编辑--》再点击Nginx--》再点击最后一行的加号
然后就会弹出一个框,然后注入域名,项目名,项目目录就可以了。
这时候就会生成一个配置文件,然后在配置文件里面加入以下内容(是新弹出来的配置文件里面)
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;
}