TP3.2二级域名访问被重置为www.com格式

在TP3.2框架下,当开启子域名部署并使用U函数处理URL时,遇到非存在二级域名访问转至www.com的问题。原因是U函数在特定配置下导致的。解决方案是改用$_SERVER[REQUEST_SCHEME].://.$_SERVER[HTTP_HOST]来获取当前访问地址,从而避免该问题。
摘要由CSDN通过智能技术生成

背景:

维护一个TP3.2框架的网站,业务逻辑二级域名访问若域名不存在,则做301跳转。

问题:

使用abc.com格式访问时,会输出www.com格式;

原因:

U('/','',true,true) 且 config.php 配置中开启子域名部署 'APP_SUB_DOMAIN_DEPLOY' => 1, 即:在开启子域名部署情况下,使用U('/','',true,true)则会出现该问题。

ThinkPHP\Common\function.php 底层U方法中:

解决:

不使用U('/','',true,true) ,使用 $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'] 获取当前访问地址;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值