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
看搞定了吧!
二、使用正则路由修改分隔符
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 代表第一个括号里面的内容
这样就配置好了,现在我们可以测试一下是否成功!首先我们打印出$_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
欢迎分享本文,转载请注明本文出处和地址