ThinkPHP3.2路由美化,url简化
来源:原创
时间:2015-11-25
作者:脚本小站
分类:PHP
thinkphp的路由功能很实用也很强大,可以简化url,有强大的正则匹配,可以做成任何想要的url样式。
在前台的config.php配置文件中:
1.首先开启路由
'URL_ROUTER_ON' => true,
2.配置路由规则了,使用URL_ROUTE_RULES参数进行配置,格式为数组。
'URL_ROUTE_RULES'=>array( 'news/:year/:month/:day' => array('News/archive', 'status=1'), 'news/:id' => 'News/read', '/^new\/(\d{4})\/(\d{2})$/' => 'News/achive?year=:1&month=:2', ),
例:
最常见的使用方法:
例如:'news/:id' => 'News/read',
在在地址栏中输入 域名/news/123.html 其实访问的是 域名/news/read/id/123.html
还有经常用到的对分页url的处理:
当有分页时:
'/^list\/(.*\d)_(.*\d)$/' => 'article/list?id=:1&p=:2',
最终效果:
地址栏的地址是 域名/list/123_2.html
实际访问的地址是:域名/article/list?id=123/p=2
当没有分页时匹配的是这个规则:
'list/:id\d' => 'article/list',
地址栏的地址是 域名/list/123.html
实际访问的地址是:域名/article/list/id/123.html
但是这个没有分页的路由必须放在下面,或者直接用上面的那个,只不过第一页的地址要带个 "_1"。
具体使用方法详见3.2手册“路由”章节。