php 网址尾部带斜杠和不带区别,THINKPHP下配置pathinfo出现尾巴带斜杠和不带斜杠的差异解决方案...

THINKPHP下配置pathinfo出现尾巴带斜杠和不带斜杠的差异解决方案,实际上我还没研究清除怎么回事,但是这个问题困扰了很久,之前解决过一次,但是TP的版本不断升级 调试一次很痛苦的,今天终于通过最早期NGINX+THINKPHP的配置文档中找到差异化。

基本是有两种解决方案,如果你有时间的话可以自己尝试第一种方案。就是修改TP底层代码,之前修改过 没记录忘记了。调试的方式很简单就是,不断打印$_server的值,然后判断TP中的路由解析代码,调试到识别model和controller name时候那段就是需要进行改进的地方,回头想想那个并不不是好办法

其二是修改配置,这个也是踩到狗屎,我并还不了解什么原因导致,只知道因为TP底层在识别SERVER的相关信息时候的一个错误,源头的代码如下

需要修改nginx/conf/pathinfo.conf

#set $real_script_name $fastcgi_script_name;

#if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {

#set $real_script_name $1;

#set $path_info $2;

#}

set $real_script_name $uri;

set $path_info "";

if ($uri ~ "^(.+?\.php)(/.+)$") {

set $real_script_name $1;

set $path_info $2;

}

fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;

fastcgi_param SCRIPT_NAME $real_script_name;

fastcgi_param PATH_INFO $path_info;

其中被我注释掉部分就是原来的代码,下方是我测试正常的代码,大家可以看出来唯一的区别

$real_script_name,在TP里面其实也是对这个值的获取进行修改即可,问题就在于$uri 和 $fastcgi_script_name 。如果需要将尾巴识别为自动带有index,就需要将

$fastcgi_script_name修改为$uri

版权属于:

转载时必须以链接形式注明原始出处及本声明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值