thinkphp框架在nginx环境下去掉index.php路径显示

协助用户将apache下的一个网站迁移到nginx环境中,结果发现用户用的ThinkPHP框架做的开发,默认用的pathinfo。

这是一个很头疼的问题,因为nginx不支持pathinfo,贸然一并打开也担心不安全。

于是查询资料后整理如下:

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

在你的虚拟主机下添加

location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
}
}
复制代码
如果你的项目入口文件在一个子目录内则

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

点评:
测试成功,注意Tinkphp/Common/convention.php
和网站下的applications/Conf/config.php
两个文件 都要修改。

主要就是改成模式2,rewrite方式就可以了。

评论关闭