首页  >  文章  >  php教程  >  thinkphp3.2.3如何只改变地址url中的某一个分隔符,其它保持不变,thinkphp3.2.3url

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

WBOY
WBOY原创
2016-06-13 08:53:371173浏览

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

 今天教大家一个关于使用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

'URL_ROUTER_ON' => true

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

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

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

 

 

    这样就配置好了,现在我们可以测试一下是否成功!首先我们打印出$_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'
    )
     
     
);

更多内容请关注王业楼的个人博客www.ly89.cn

转载请注明出处:http://www.ly89.cn/detailB/49.html

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn