'URL_MODEL'=>1
和
'URL_MODEL'=>2
按理讲,我在两个分组中使用U方法时,应该根据url_model参数,一个有index.php,一个隐藏index.php,但是我发现,U方法中是这样处理的
if(C('URL_MODEL') == 0) { // 普通模式URL转换
$url = __APP__.'?'.http_build_query(array_reverse($var));
if(!empty($vars)) {
$vars = urldecode(http_build_query($vars));
$url .= '&'.$vars;
}
}else{ // PATHINFO模式或者兼容URL模式
if(isset($route)) {
$url = __APP__.'/'.rtrim($url,$depr);
}else{
$url = __APP__.'/'.implode($depr,array_reverse($var));
}
.....
}
在url_model不为0的情况下,url是用__APP__常量来作为主url部分,而这个常量定义是在分组配置文件加载之前就确定的,也就是说,无论我分组配置中定义url_model是1,2,3,都无法决定U方法生成的url带不带index.php,它只受项目配置和惯例配置的约束。这个地方是否有些不妥?
最佳答案
