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

网站从wampserver环境换到  Nginx 环境中 突然出现    缺少index开头的地址。但是转到Nginx环境下发现U方法解析后的地址原本是index.php?xxx却成了.php?xxx,少了个index,查阅了一些资料,发现tp框架使用U方法解析地址时, 在Nginx 服务器上可能会遇到路由跳转不过去前面带点的地址(如:./xxx)

解决方法  :

1

找到applications/Conf/的配置文件 config.php
return array(
'URL_MODEL'=>2, //关于URL更多说明请参考Tinkphp/Common/convention.php
);

2,

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

define(‘_PHP_FILE_’,$_SERVER[‘SCRIPT_NAME’]);  注意逗号大小写,

 

同时了伪静态规则给配上

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

 

posted @ 2019-04-28 10:07  八路逆袭寡妇村  阅读(552)  评论(0编辑  收藏  举报
www.zxzidian.com