PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > ThinkPhp教程 > 正文

    thinkphp3.2路由时出错提示:无法加载模块 解决方法

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:利用onethink二次开发做了一个站,上线的时候发现url地址太长,所以考虑用路由来美化url,开始是这样写的:/* URL配置 */'URL_CASE_I...
    利用onethink二次开发做了一个站,上线的时候发现url地址太长,所以考虑用路由来美化url,开始是这样写的:
     
    /* URL配置 */
    'URL_CASE_INSENSITIVE' => true, //默认false 表示URL区分大小写 true则表示不区分大小写
    'URL_MODEL' => 2, //URL模式 0:普通模式 1:PATHINFO模式 2:REWRITE模式 3:兼容模式
    'VAR_URL_PARAMS' => '', // PATHINFO URL参数变量
    'URL_PATHINFO_DEPR' => '/', //PATHINFO URL分割符
    'URL_HTML_SUFFIX' => '.html',
    'URL_ROUTER_ON' => true,
    'URL_ROUTE_RULES' => array(
    'news/:idd' => array('Home/Article/detail'), //资讯详情
     
    ),
     
    访问网站***.com/news/1.html的时候提示出现错误,错误提示如下:
     
    无法加载模块:News
    错误位置
    FILE: E:wwwrootdichanThinkPHPLibraryThinkDispatcher.class.php  LINE: 168
     
    然后各种搜索,官网都搜遍了还是没找到问题,差点急死老子了,查看官网手册,其中有句话这样说:
     
    3.2的路由功能是针对模块设置的,所以URL中的模块名不能被路由,路由定义也通常是放在模块配置文件中。
     
    哈哈,以前的版本都是写在公共文件里的config.php,原来3.2做了改动,必须写在模块的config.php,心中暗喜,是不是这个问题导致的错误,果断试了试,shit!还是不行,然后看了一下配置文件的配置,感觉比较可疑:
     
    'MODULE_DENY_LIST' => array('Common','User','Admin','Install'),
    //'MODULE_ALLOW_LIST' => array('Home','Admin'),
     
    吧下边的那个注释删掉:
     
    'MODULE_DENY_LIST' => array('Common','User','Admin','Install'),
    'MODULE_ALLOW_LIST' => array('Home','Admin'),
     
    刷新,路由正常,原来是这里的问题,原来3.2对模块的访问是自动判断的,所以通常情况下无需配置模块列表即可访问,在部署模块的时候,默认情况下都是基于类似于子目录的URL方式来访问模块的,所以这里的模块没有允许被访问。soga,这个问题憋了三天!!!终于解决了!
    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-83-859-1.html