3.1.2 - 普通 - 未处理
能否在URL调度前就加载独立分组配置文件?现在会出现这种问题。。。
比如项目URL模式是3,其中独立分组Contents里的配置文件,URL模式是0使用U方法生成的地址是:
U("Contents/Content/public_categorys")生成如下错误地址。。。
index.php?s=?g=Contents&m=Content&a=public_categorys
后来跟踪代码发现,在Dispatcher.class.php这个类里,首先:
$urlMode = C('URL_MODEL'); 是全局配置,也就是URL模式为3,
然后会声明
// URL常量
define(' __ APP __ ',strip_tags($_SERVER['REQUEST_URI']));
// 当前项目地址
define('',strip_tags(PHP_FILE));
这两个常量。这是U方法会用到 __ APP __ 的常量。问题就出这里了,这里还没加载独立分组的配置文件,所以生成的是“
/index.php?s=”,而独立分组配置URL模式是0,所以“
/index.php?s=”在后面U方法调用就会生成错误的地址。。。如果一开始就加载好独立分组的配置,就没这问题!
