thinkphp3.2 路由设置 的问题

浏览:21380 发布日期:2014/11/19 分类:求助交流 关键字: thinkphp3.2 路由
我在3.1中是如下方式配置路由的: 'URL_ROUTER_ON' => TRUE,
    'URL_ROUTE_RULES' => array(
        '/^c-(\d+)$/' => 'Index/content?id=:1'
能实现路由效果。
但是换了在 3.2中,同样的机器,同样的其它部署情况,同样的配置代码就不行了,如果我访问http://www.xxxx.com/c-2.html, 提示我“找不到c-2模块”
,然后就在论坛里找啊找啊找。
于是把配置信息 加上了如下代码: 'MODULE_ALLOW_LIST' => array('Home','Admin','Common'),
    'DEFAULT_MODULE'       =>    'Home',  // 默认模块
  'DEFAULT_CONTROLLER'    =>  'Index', // 默认控制器名称
    'DEFAULT_ACTION'        =>  'index', // 默认操作名称
,现在目前的配置路由的代码是: 'MODULE_ALLOW_LIST' => array('Home','Admin','Common'),
    'DEFAULT_MODULE'       =>    'Home',  // 默认模块
  'DEFAULT_CONTROLLER'    =>  'Index', // 默认控制器名称
    'DEFAULT_ACTION'        =>  'index', // 默认操作名称
         //    路由规则
    'URL_ROUTER_ON' => TRUE,
    'URL_ROUTE_RULES' => array(
        '/^c-(\d+)$/' => 'Index/content?id=:1'
    ),
这回路由起作用了。没有提示找不到模块,也能执行相应的逻辑了。
但是,当我访问"http://www.xxxx.com/c-2.html"时候,url变成了"
http://www.xxxx.com/Index/content?id=2
",

逻辑虽然执行了,但是url变化了。为什么url直接就变化了呢?
正常的效果应该是如下的呀url显示的是http://www.xxxx.com/c-2.html,
实际执行的逻辑是http://www.xxxx.com/Index/content?id=2。
这样才对的呀。
现在这个情况是哪里缺少了配置?配置错误?
最佳答案
评论( 相关
后面还有条评论,点击查看>>