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

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

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

注意,这里的正则和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'
) );

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

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

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

  1. Linux 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11 块 解析?

    面试题: 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11块,则该文件共占有 B  块号.A 256 B 266 C 11 D 256×10 linux文件系统是L ...

  2. 记一次400错误引发的血案(URL中特殊符号的转义/400 bad request错误)

    django+nginx+uwsgi部署的站点访问某个URL时发生了400 bad request的错误,而使用django自带的开发版的web server时没有遇到此问题.初步判断是nginx或u ...

  3. HTML5之pushstate、popstate操作history,无刷新改变当前url

    一.认识window.history window.history表示window对象的历史记录,是由用户主动产生,并且接受javascript脚本控制的全局对象.window对象通过history对 ...

  4. 使用ajax和history.pushState无刷新改变页面URL

    表现 如果你使用chrome或者firefox等浏览器访问本博客.github.com.plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发 ...

  5. URL 中#号,? ,&的作用 (摘抄整理 链接为学习地址)

    1. 一峰的网络日志:http://www.ruanyifeng.com/blog/2011/03/url_hash.html get: 1.页面滚动到指定页面的指定位置 (eg: http://ww ...

  6. 使用ajax和history.pushState无刷新改变页面URL onpopstate(转)

    Javascript代码 var htmlData1 = $.ajax(    {    url: "/getXXXResponse",    async: false }).re ...

  7. 使用ajax和history.pushState无刷新改变页面URL(转)

    表现 如果你使用chrome或者firefox等浏览器访问本博客.github.com.plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发 ...

  8. CSS只改变背景透明度,不改变子元素透明度

    一般情况下,我们可以使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即使对子元素重新定义也没有用,例如: <div style="opacit ...

  9. ipv6地址在URL中的表达方式,如何在URL地址中包含ipv6地址

    摘要 本文档定义了在WWW浏览器的URL中执行的文本IPv6地址的格式.在包括Microsoft的IE,Mozilla和Lynx等几个已经被广泛安装使用的浏览器的IPv6版本中,这种格式已经被使用.并 ...

随机推荐

  1. grep-检索文本

    grep -r bes.dsf.server.zookeeper ./ //递归搜索,不支持指定文件类型 find ./ -name "*.entity.xml" -exec gr ...

  2. 前端专业术语: shim 和 Polyfill,了解下

    在学习和使用 JavaScript 的时候,我们会经常碰到两个术语:shim 和 polyfill.它们有许多定义和解释,意思相近又有差异. Shim Shim 指的是在一个旧的环境中模拟出一个新 A ...

  3. elasticsearch.yml基本配置说明

    一.基本配置 elasticsearch的config文件夹里面有两个配置文 件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是 ...

  4. JQuery初识(二)

    一丶链式编程 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  5. 【extjs6学习笔记】0.3 准备: 类库结构2

  6. meterpreter > ps

    meterpreter > ps Process List============ PID PPID Name Arch Session User Path --- ---- ---- ---- ...

  7. python3基础05(有关日期的使用1)

    #!/usr/bin/env python# -*- coding:utf-8 -*- import timefrom datetime import datetime,timedelta,timez ...

  8. 再回首win98

    因为一个软件只能运行在win98上,所以上个win98虚拟机. 下载的是经典的Win98.SE.iso 307M. 真是小巧呀,感慨现在的win8.1的3.69G,真是没法比. 原来是没有用过老古董的 ...

  9. Coursera 算法二 week 4 Boggle

    这次的作业主要用到了单词查找树和深度优先搜索. 1.在深度优先搜索中,在当前层的递归调用前,将marked数组标记为true.当递归调用返回到当前层时,应将marked数组标记为false.这样既可以 ...

  10. leetcode--5 Longest Palindromic Substring

    1. 题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximu ...