当前位置: 代码迷 >> PHP >> thinkphp3.2.3怎么只改变地址url中的某一个分隔符,其它保持不变
  详细解决方案

thinkphp3.2.3怎么只改变地址url中的某一个分隔符,其它保持不变

热度:247   发布时间:2016-04-28 16:55:38.0
thinkphp3.2.3如何只改变地址url中的某一个分隔符,其它保持不变

 今天教大家一个关于使用thinkphp3.2.3改变只改变地址url中的某一个分隔符的方法,首先大家来看看这个地址!

    

thinkphp3.2.3如何只改变地址url中的某一个分隔符,其它分隔符保持不变

 

    它的原始地址应该是/Home/Index/index/page/2.html,那我们怎样将改变page后面 / 符号改成 _ 符号呢?

 

    一、精简地址url

    其实thinkphp最初用U()函数打印出来地址应该是这样的/index.php/Home/Index/index.html,那么我们应该讲其中的index.php去除,这样不仅地址美观而且有利于SEO!我们找到localhost/Application/Common/Conf/config.php文件并且打开,在里面的数组中添加下面代码

'URL_MODEL' => 2

thinkphp3.2.3如何只改变地址url中的某一个分隔符,其它分隔符保持不变

看搞定了吧!

 

    二、使用正则路由修改分隔符

    1、还是在config.php文件中,将路由功能打开,添加下面代码

'URL_ROUTER_ON' => true

  2、使用正则路由修改url最后一个分隔符

'URL_ROUTE_RULES' => array(    '/([w/]+)/page_(d+)$/' => ':1?page=:2')

注意,这里的正则和PHP中的正则是一样的,后面的 :1 就是PHP正则中的 1或者$1 代表第一个括号里面的内容

 

thinkphp3.2.3如何只改变地址url中的某一个分隔符,其它分隔符保持不变

 

    这样就配置好了,现在我们可以测试一下是否成功!首先我们打印出$_GET['page'],然后在地址栏输入localhost/Home/Index/index/page_2.html,如果输出的是2那么恭喜你成功啦!

 

    所以你的localhost/Application/Common/Conf/config.php文件需要输入有下面代码才能只改变地址url的某一个分隔符,我这里改变的是最后一个分隔符!

return array(         //设置URL模式    'URL_MODEL' => 2,         //启动路由功能    'URL_ROUTER_ON' => true,         //正则路由    'URL_ROUTE_RULES' => array(        //修改分页地址        '/([w/]+)/page_(d+)$/' => ':1?page=:2'    )          );

本文来源于王业楼的个人博客 本文地址:http://www.ly89.cn/detailB/50.html

欢迎分享本文,转载请注明本文出处和地址

  相关解决方案