关闭APP_DEBUGE url变小写 解决方案
程序员文章站
2022-05-11 23:41:58
...
关闭APP_DEBUGE url变小写 解决方案
今天使用tp上线一个项目,把define('APP_DEBUG',true); 设置为false的时候,所有的页面都找不到了。提示404错误,后来发现生成的url地址:/index.php/index/article.html 怎么控制器Index变成小写了,于是又把define('APP_DEBUG',false);改成了define('APP_DEBUG',true); 又一切正常了。后来发现是 ThinkPHP\Common\functions.php 这里的U方法出了问题,
于是找到:
于是下面的代码:
解决方法:
打开Home\Common\Conf\config.php
Runtime/Common~runtime.php 这个文件,重新刷新即可。
如果还是不能解决,欢迎加QQ:574482856
今天使用tp上线一个项目,把define('APP_DEBUG',true); 设置为false的时候,所有的页面都找不到了。提示404错误,后来发现生成的url地址:/index.php/index/article.html 怎么控制器Index变成小写了,于是又把define('APP_DEBUG',false);改成了define('APP_DEBUG',true); 又一切正常了。后来发现是 ThinkPHP\Common\functions.php 这里的U方法出了问题,
于是找到:
// URL组装
$depr = C('URL_PATHINFO_DEPR');
$urlCase = C('URL_CASE_INSENSITIVE');
是 C('URL_CASE_INSENSITIVE'); 没有定义,则$urlCase 取值为false于是下面的代码:
if($urlCase){
$url = strtolower($url);
}
strtolower 这个方法就执行了,于是得到url地址为小写,在linux区分大小写就找不到页面了,就404错误了解决方法:
打开Home\Common\Conf\config.php
'SESSION_AUTO_START'=>true,
//加上这句话即可
'URL_CASE_INSENSITIVE'=>false, //设置debug在关闭的时候,生成的url变成小写的问题
//多语言定义
'LANG_SWITCH_ON' => true, // 开启语言包功能
如果还是不行,则需要删除Runtime/Common~runtime.php 这个文件,重新刷新即可。
如果还是不能解决,欢迎加QQ:574482856
AD:真正免费,域名+虚机+企业邮箱=0元