近期因为换掉了之前的旧电脑,买了mac后,私下搭建TP5时,发现路由访问始终访问到index.php中的index方法。
鉴于问题虽小,但也需要指路人,特此记录处理方法。
首先问题出在nginx配置文件中,修改此3处。重启nginx即可解决问题。
修改1:
打开nginx.conf文件
找到以下代码,将第一行的$去掉
#location ~ \.php$ {
location ~ \.php{
#root /Applications/MxSrvs/www;
root /Applications/MxSrvs/www/test2/public;
fastcgi_pass 127.0.0.1:10080;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
修改2:
打开nginx.conf文件
找到以下代码处,并添加这2行代码:
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
添加后为:
#location ~ \.php$ {
location ~ \.php{
#root /Applications/MxSrvs/www;
root /Applications/MxSrvs/www/test2/public;
fastcgi_pass 127.0.0.1:10080;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
修改3:
打开nginx.conf文件
找到以下代码处,并添加下面这个if代码:
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?s=$1 last;
}
添加后:
location / {
#root /Applications/MxSrvs/www;
root /Applications/MxSrvs/www/test2/public;
index index.html index.htm index.php;
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?s=$1 last;
}
}
注意 if和(之间 有个 英文状态下的空格,否则会报错!
修改以上3处后,点击保存。重启nginx!问题就会解决掉啦!
有帮助到你的话,麻烦点个赞??哈