Thinkphp 部署/PATH_INFO支持

PATH_INFO支持

如果发生在本地测试正常,但是一旦部署到服务器环境后会发生只能访问首页的情况,很有可能是你的服务器或者空间不支持PATH_INFO所致。

系统内置提供了对PATH_INFO的兼容判断处理,但是不能确保在所有的环境下面都可以支持。如果你确认你的空间不支持PATH_INFO的URL方式的话,有下面几种方式可以处理:

修改URL_PATHINFO_FETCH配置参数新版内置了通过对ORIG_PATH_INFO,REDIRECT_PATH_INFO,REDIRECT_URL三个系统$_SERVER变量的判断处理来兼容读取$_SERVER['PATH_INFO'],如果你的主机环境有更特殊的设置,可以修改URL_PATHINFO_FETCH参数,改成你的环境配置对应的PATH_INFO的系统变量兼容获取名称,例如:

'URL_PATHINFO_FETCH' => 'ORIG_PATH_INFO,REDIRECT_URL,其他参数…'

如果你的环境没有任何对应的系统变量,那么可以封装一个获取方法,例如:

function get_path_info(){
     // 根据你的环境兼容获取PATH_INFO 具体代码略
     return $path; // 直接返回获取到的PATH_INFO信息
}

然后我们修改下URL_PATHINFO_FETCH参数的配置值,改为:

'URL_PATHINFO_FETCH'     =>   ':get_path_info'

配置后,系统会自动读取get_path_info方法来获取$_SERVER['PATH_INFO']的值。

配置你的WEB服务器重写规则模拟PATH_INFO实现如果你有服务器或者空间的配置权限,可以考虑通过配置URL重写规则来模拟实现。

采用兼容URL模式运行这是最坏的方法,配置你的URL模式为3(表示兼容URL模式) 然后在需要生成URL的地方采用U方法动态生成即可。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值