关闭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方法出了问题,
于是找到: // URL组装<br>
$depr = C('URL_PATHINFO_DEPR');<br>
$urlCase = C('URL_CASE_INSENSITIVE');是 C('URL_CASE_INSENSITIVE'); 没有定义,则$urlCase 取值为false
于是下面的代码: if($urlCase){<br>
$url = strtolower($url);<br>
}strtolower 这个方法就执行了,于是得到url地址为小写,在linux区分大小写就找不到页面了,就404错误了
解决方法:
打开Home\Common\Conf\config.php 'SESSION_AUTO_START'=>true,<br><br>
//加上这句话即可<br><b> 'URL_CASE_INSENSITIVE'=>false, //设置debug在关闭的时候,生成的url变成小写的问题</b><br><br>
//多语言定义<br>
'LANG_SWITCH_ON' => true, // 开启语言包功能如果还是不行,则需要删除
Runtime/Common~runtime.php 这个文件,重新刷新即可。
如果还是不能解决,欢迎加QQ:574482856
AD:真正免费,域名+虚机+企业邮箱=0元
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号