设置路由,不解析。
【已解决】3.2的路由是在模块中独立配置的 不是在项目配置文件中配置的了
这样设计的好处是避免大型应用中模块多了之后 路由文件过大 效率降低 而且这样一来 每个模块更加独立。当然缺点是模块名称本身不能通过路由改变,但可以用二级域名绑定或者 别名来调整。
【应用】
//当前模块Home
// 路由设置
'URL_ROUTER_ON' => true,
'URL_ROUTE_RULES' => array(
'id/:id\d' => 'Home/Index/index',
),
// 访问 http://xxx.com/index.php/Home/id/5Dispatcher.class.php
// 117行 - 141行
// 获取模块名称
define('MODULE_NAME', self::getModule($varModule));
// 检测模块是否存在
if( MODULE_NAME && !in_array(MODULE_NAME,C('MODULE_DENY_LIST')) && is_dir(APP_PATH.MODULE_NAME)){
// 定义当前模块路径
define('MODULE_PATH', APP_PATH.MODULE_NAME.'/');
// 定义当前模块的模版缓存路径
C('CACHE_PATH',CACHE_PATH.MODULE_NAME.'/');
// 加载模块配置文件
if(is_file(MODULE_PATH.'Conf/config.php'))
C(include MODULE_PATH.'Conf/config.php');
// 加载模块别名定义
if(is_file(MODULE_PATH.'Conf/alias.php'))
Think::addMap(include MODULE_PATH.'Conf/alias.php');
// 加载模块tags文件定义
if(is_file(MODULE_PATH.'Conf/tags.php'))
C('tags', include MODULE_PATH.'Conf/tags.php');
// 加载模块函数文件
if(is_file(MODULE_PATH.'Common/function.php'))
include MODULE_PATH.'Common/function.php';
}else{
E(L('_MODULE_NOT_EXIST_').':'.MODULE_NAME);
}
// 164行
if('' != $_SERVER['PATH_INFO'] && (!C('URL_ROUTER_ON') || !Route::check()) ){ 最佳答案