首页 » PHP笔记 » 如何使用thinkphp路由正则表达式优化地址链接

如何使用thinkphp路由正则表达式优化地址链接

高蒙 2017/03/20 10:14 2.2k浏览 0评论 Thinkphp


thinkphp开发项目,其中搜索模块需要携带很多的参数,就会出现地址栏的链接很长,这样不仅看上去不美观,对于搜索引擎来说也是不友好的链接。于是,就需要将其修改成简短干练的地址链接。

thinkphp中是支持路由重写的,需要自己编写重写规则。在编写的过程中,遇到一个问题。可以说是一个老大难的问题,那就是中文,搜索关键字需要匹配中文。

在尝试各种正则匹配规则都失败的情况下,我这里只能写成?keyword=关键字的格式。

下面我们看,具体的实例:

未优化地址:

/model/search.php?style=317&order=1&isyear=0&recommend=0&bid=301&sid=327&keyword=关键字&page=1

优化地址:

/model/search-316-0-0-0-301-327-1.html?keyword=关键字

路由正则:

'/^model\/search\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)$/'=>'Home/Search/model?style=:1&order=:2&isyear=:3&recommend=:4&bid=:5&sid=:6&page=:7',

理想的优化:

/model/search-316-0-0-0-301-327-关键字-1.html

理想的优化地址链接未能实现,因为汉字在使用正则时,总是匹配错误,于是,我这里只能写成?keyword=关键字的格式。

thinkphp路由正则对于汉字的匹配我没有找到方法。有知道的朋友不妨给我留言。





相关文章

我有话说

站长昵称:(*)

输入内容:

选个头像:

评论列表

    ...

    高蒙

    男, PHP程序猿

    文章

    487

    标签

    42

    热度

    10w+

    南京, 江苏, 中国

    人生要是没有理想, 那跟咸鱼有什么分别。