ThinkPHP的URL模式有四种,默认是PATHINFO模式,其他三种分别为:普通模式、REWRITE和兼容模式。

一、PATHINFO模式

浏览器输入格式为:

http://localhost/demo39/index.php/模块/控制器/操作

在Home的Controller建立 UserController.calss.php ,如下图所示:

在浏览器上输入 http://localhost/demo39/index.php/Home/User

得到的结果为: user index

这时在浏览器中输入上面所说的输入格式,如 http://localhost/demo39/index.php/Home/User/test/user/Lee/pass/123

则显示为:

 user:Lee
pass:123

 PATHINFO 模式下默认的分隔符是/,我们可以设置为你想要的,比如:_

这时,在common/conf/config.php下修改

添加

//设置PATHINFO的分割符
'URL_PATHINFO_DEPR'=>'_',

如下图所示:

  

这时,在浏览器上输入 http://localhost/demo39/index.php/Home_User_test_user_Lee_pass_123

这时要注意,在Home之后就要开始使用_符号,得到的结果如下图所示:

 二、接下来介绍普通模式:

在浏览器上输入  http://localhost/demo39/index.php?m=Home&c=User

得到 user index

接下来输入参数   http://localhost/demo39/index.php?m=Home&c=User&a=test&user=Lee&pass=123

得到结果为:

user:Lee
pass:123

在这条 URL 上,我们发现采用的就是传统的 GET 模式,m 表示模块,c 表示控制器,a表示方法,后面的表示键值对。
普通模式的 m、c、a 可以自行设置为你习惯的键名称:

这时在 common/conf/config.php 中添加:

'VAR_MODULE'=>'mm',
'VAR_CONTROLLER'=>'cc',
'VAR_ACTION'=>'aa',

修改完后,在浏览器中输入变为: http://localhost/demo39/index.php?mm=Home&cc=User&aa=test&user=Lee&pass=123

结果仍为:

user:Lee
pass:123

另外要说一点的就是,在普通模式下时,demo39后面的index.php可以去掉,结果不会有影响。

3、REWRITE模式(重写模式)

httpd.conf 配置文件中加载了 mod_rewrite.so 模块,

就是在 LoadModule rewrite_module modules/mod_rewrite.so   前面的#号去掉
AllowOverride None 将 None 改为 All,改好这两处后,重启apache,
把下面的内容保存为.htaccess 文件放到应用入口文件的同级目录下
这样,ThinkPHP 自带的.htaccess 文件就起作用了,可以过滤掉 index.php 这个字符串。

4、兼容模式一般用于不支持 PATHINFO 的特殊环境,基本上用不到。

ThinkPHP的URL模式的更多相关文章

  1. ThinkPHP 3.2.3(三)架构之URL模式

    一.标准URL格式 http://serverName/index.php/模块/控制器/操作   二.URL大小写 在/ThinkPHP/Conf/convention.php文件里有URL大小写的 ...

  2. ThinkPHP的四种URL模式 URL_MODEL

    ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式.PATHINFO.REWRITE和兼容模式. 普通模式 设置URL_MODEL 为0 采用传统的URL参数模 ...

  3. ThinkPHP URL模式和URL重写

    现在用的版本是TP3.1.3,这两天总是遇到NotFound的错误,解析路径错误,所以认真研究了一下手册,发现问题出在URL模式上面. URL模式 一般是使用U方法来生成路径,U方法的定义规则如下(方 ...

  4. thinkphp学习笔记6—url模式

    原文:thinkphp学习笔记6-url模式 入口文件是应用的唯一入口,因为可以多入口,每个应用可以对应一个入口文件,系统会从rul参数中解析当前请求的模块,控制器,操作.ThinkPHP是区分大小写 ...

  5. 【三十一】thinkphp之安装、配置、模块化及URL模式

    一:安装与配置 1.获取ThinkPHP 下载地址:http://www.thinkphp.cn/down.html 2.入口文件 ThinkPHP采用单一入口模式对项目进行部署和访问,所以我们需要通 ...

  6. thinkphp URL 模式

    兼容ThinkPHP三种url模式的nginx rewrite location / { root /var/www; index index.html index.htm index.php; if ...

  7. thinkphp url模式

    入口文件是应用的单一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作: http://serverName/index.php/模块/控制器/操作 这是 ...

  8. 详解ThinkPHP支持的URL模式有四种普通模式、PATHINFO、REWRITE和兼容模式

    URL模式     URL_MODEL设置 普通模式    0 PATHINFO模式     1 REWRITE模式     2 兼容模式     3 如果你整个应用下面的模块都是采用统一的URL模式 ...

  9. ThinkPHP的URL访问

    url访问 http://www.kancloud.cn/manual/thinkphp5/118012 ThinkPHP5.0在没有启用路由的情况下典型的URL访问规则是: http://serve ...

随机推荐

  1. Jfinal整合百度富文本编辑器ueditor

    ueditor配置文件ueditor.config.js修改参数serverUrl:(改为要调用的action) 后台代码 package com.sandu.mega.admin.ueditor; ...

  2. JProfiler连接weblogic

    转 http://blog.csdn.net/xu1314/article/details/7737236

  3. xsl教程学习笔记

    一 . Hello world 尝试: Hello.xml: <?xml version="1.0" encoding="UTF-8"?> < ...

  4. RESTful 组件

    1. CBV FBV: url("index/",index) # index(request) url("index/(\d+)",index) # inde ...

  5. RTP协议全解(H264码流和PS流)

    写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析, 其中借鉴了很多文章,我都列在了文章最后,在此表示感谢. 互联网的发展离不开大家的无私奉献,我决定从我做起,希 ...

  6. OpenCV-Python在图片上输出中文

    OpenCV中在图片上输出中文一般需要借助FreeType库实现.FreeType库是一个完全免费(开源)的.高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件.但使用FreeType ...

  7. VMware12版虚拟机怎么安装win7系统(详细教程

    转自:http://jingyan.baidu.com/article/cd4c29791fcf1b756e6e6034.html VMware12版虚拟机怎么安装win7系统(详细教程) 现 在很多 ...

  8. spark 单机版安装

    jdk-8u73-linux-x64.tar.gz hadoop-2.6.0.tar.gz scala-2.10.6.tgz spark-1.6.0-bin-hadoop2.6.tgz 1.安装jdk ...

  9. RabbitMQ教程总结

    [译]RabbitMQ教程一 主要通过Hello Word对RabbitMQ有初步认识 [译]RabbitMQ教程二 工作队列,即一个生产者对多个消费者 循环分发.消息确认.消息持久.公平分发 [译] ...

  10. Sqoop--Free-form Query Imports 自由查询模式下$CONDITIONS关键字的作用

    Scoop是用来实现HDFS文件系统和关系型数据库如MySQL之间数据传输和转换的工具. 从MySQL导出到HDFS可以通过--table, --columns and --where等设置数据抽出的 ...