ThinkPHP中分组后的路由设置注意事项
ThinkPHP分组之后,理论上配置文件就可以分开设置了。比如我们分的组为Admin和Home,那么路由功能只针对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我的初学者,欢迎大家指出错误,以免误导他人。感谢!