今天我给博客程序作了升级,也就是把WBlog的核心由ThinkPHP3.1替换成ThinkPHP3.12,因为版本比较接近,所以没有产生什么大的变化,但小问题还是有的。升级后,首页浏览正常,但点击导航的URL链接时,出现了页面错误,提示找不到页面,然后跳到404页面去了。不怕出现问题,就怕找不到问题。发现问题,解决问题,对我来说是一件很愉快的事。经过仔细观察对比,路径没有错,再对路径输入大小写对比,发现URL的字母对大小写敏感。
问题发现了,看一下解决方法
1、到核里包的配置文件thinkphp/Conf/convention.php找到 'URL_CASE_INSENSITIVE' => false, 并把它复制到项目的配置文件Conf/config.php
2、把项目的配置文件中的'URL_CASE_INSENSITIVE' => false改为'URL_CASE_INSENSITIVE' =>true
说明:项目配置文件找不到的配置项都可以在核心文件包的convention.php文件找到。
'URL_CASE_INSENSITIVE' =>true 表示URL访问不区分大小写
'URL_CASE_INSENSITIVE' => false 为默认项,表示URL访问区分大小写
对于'URL_CASE_INSENSITIVE'的设置官方的解释看上面,我的疑惑是,之前的thinkphp3.0和thinkphp3.1默认也是'URL_CASE_INSENSITIVE' => false,URL访问区分大小写都没问题,但thinkphp3.1后,就比较严格了,可能官方对此作了规范。
更新后,一切浏览正常。