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

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

WBOY
WBOYOriginal
2016-06-13 12:25:42760browse

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' => <span style="color: #0000ff;">true</span>

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

'URL_ROUTE_RULES' => <span style="color: #0000ff;">array</span><span style="color: #000000;">(    </span>'/([w/]+)/page_(d+)$/' => ':1?page=:2'<span style="color: #000000;">)</span>

注意,这里的正则和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' => <span style="color: #0000ff;">true</span>,         //正则路由    'URL_ROUTE_RULES' => array(        //修改分页地址        '/([w/]+)/page_(d+)$/' => ':1?page=:2'    )          );

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn