关于ThinkPHP在Nginx服务器上U方法解析后的地址缺少index的解决方法

最近部署项目,使用的是ThinkPHP框架,完成后在Apache下一切正常,但是转到Nginx环境下发现U方法解析后的地址原本是index.php?xxx却成了.php?xxx,少了个index。

查阅了一些资料,发现tp框架使用U方法解析地址时, 在Nginx 服务器上可能会遇到路由跳转不过去前面带点的地址(如:./xxx)

同时在在控制器内或模板内使用U方法都异常。


解决这个问题很简单,可以在tp的入口文件 index.php 里定义个常量


define('_PHP_FILE_',$_SERVER['SCRIPT_NAME']);


尝试了一下,感觉很管用,希望对你同样适用!