ThinkPHP中分组后的路由设置注意事项

作者: 坎肩儿 分类: ThinkPHP框架 发布时间: 2012-04-26 19:34

ThinkPHP分组之后,理论上配置文件就可以分开设置了。比如我们分的组为AdminHome,那么路由功能只针对Home即可,后台不需要这么麻烦了,这样的话将路由配置放在conf/home/config.php里面,但是这个路由这样设置不起作用。

在官方论坛看到过管理人员给询问人的答复。

这样,路由配置只能作为公用的放在conf/config.php里面了。

路由设置部分的代码:

//ThinkPHP支持URL路由功能,要启用路由功能,需要设置URL_ROUTER_ON 参数为true
‘URL_ROUTER_ON’=>true,
//路由定义
‘URL_ROUTE_RULES’=> array(
‘:id\d’=>’article/index’, //规则路由
),

路由设置非常方便,我感觉用上路由就不用设置伪静态了,不过有个地方还是需要设置下伪静态的。那就是去掉URL里面的index.php,比如下面的例子:

http;//domain/index.php/article/index/id/5

要想去掉index.php,需要配置下伪静态规则:

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

这样,生效后就可以访问:http;//domain/article/index/id/5

那么,为了更好的达到SEO的效果,目录层次越短越好,我是恨不能直接这样:http;//domain/5,这样多好啊,多简洁。

可以吗?

ThinkPHP具有路由功能,当然可以!

上面我们发布的那段路由配置的代码里面:‘:id\d’=>’article/index’, //规则路由,这个规则就是实现这个功能的。

方便吧?

对于ThinkPHP我的初学者,欢迎大家指出错误,以免误导他人。感谢!