ThinkPHP的URL模式
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模式的更多相关文章
- ThinkPHP 3.2.3(三)架构之URL模式
一.标准URL格式 http://serverName/index.php/模块/控制器/操作 二.URL大小写 在/ThinkPHP/Conf/convention.php文件里有URL大小写的 ...
- ThinkPHP的四种URL模式 URL_MODEL
ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式.PATHINFO.REWRITE和兼容模式. 普通模式 设置URL_MODEL 为0 采用传统的URL参数模 ...
- ThinkPHP URL模式和URL重写
现在用的版本是TP3.1.3,这两天总是遇到NotFound的错误,解析路径错误,所以认真研究了一下手册,发现问题出在URL模式上面. URL模式 一般是使用U方法来生成路径,U方法的定义规则如下(方 ...
- thinkphp学习笔记6—url模式
原文:thinkphp学习笔记6-url模式 入口文件是应用的唯一入口,因为可以多入口,每个应用可以对应一个入口文件,系统会从rul参数中解析当前请求的模块,控制器,操作.ThinkPHP是区分大小写 ...
- 【三十一】thinkphp之安装、配置、模块化及URL模式
一:安装与配置 1.获取ThinkPHP 下载地址:http://www.thinkphp.cn/down.html 2.入口文件 ThinkPHP采用单一入口模式对项目进行部署和访问,所以我们需要通 ...
- thinkphp URL 模式
兼容ThinkPHP三种url模式的nginx rewrite location / { root /var/www; index index.html index.htm index.php; if ...
- thinkphp url模式
入口文件是应用的单一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作: http://serverName/index.php/模块/控制器/操作 这是 ...
- 详解ThinkPHP支持的URL模式有四种普通模式、PATHINFO、REWRITE和兼容模式
URL模式 URL_MODEL设置 普通模式 0 PATHINFO模式 1 REWRITE模式 2 兼容模式 3 如果你整个应用下面的模块都是采用统一的URL模式 ...
- ThinkPHP的URL访问
url访问 http://www.kancloud.cn/manual/thinkphp5/118012 ThinkPHP5.0在没有启用路由的情况下典型的URL访问规则是: http://serve ...
随机推荐
- C++Builder XE5对于C++11的支持真蛋疼
好不容易下载个XE5,安装,破解,准备测试一下C++11中的lambda,写了一个最简单的表达式: [](){}; 居然编译通不过. 查了帮助文档,才晓得它的编译器分为BCC32和BCC64, BCC ...
- cassandra——可以预料的查询,如果你的查询条件有一个是根据索引查询,那其它非索引非主键字段,可以通过加一个ALLOW FILTERING来过滤实现
cassandra的索引查询和排序 转自:http://zhaoyanblog.com/archives/499.html cassandra的索引查询和排序 cassandra的查询虽然很弱,但 ...
- New Concept English three (55)
28w/m 45errors Recent developments in astronomy have made it possible to detect planets in our won M ...
- Python with 结构
一段基本的 with 表达式,其结构是这样的: with EXPR as VAR: BLOCK EXPR 可以是任意表达式: as VAR 是可选的.其一般的执行过程是这样的: 计算 EXPR ,并获 ...
- IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
转:http://blog.csdn.net/zht666/article/details/8673609/ 本文主要使用图解介绍了使用IntelliJIDEA 12创建Maven管理的JavaWeb ...
- Swap Adjacent Elements
You have an array a consisting of n integers. Each integer from 1 to n appears exactly once in this ...
- LeetCode LFU Cache
原题链接在这里:https://leetcode.com/problems/lfu-cache/?tab=Description 题目: Design and implement a data str ...
- kong插件官方文档翻译
kong插件官方文档翻译 目录 介绍 文件结构 编写自定义逻辑 存储配置 访问数据存储 自定义实体 缓存自定义实体 扩展Admin API 编写测试 (卸载)安装你的插件 插件开发 - 介绍 什么是插 ...
- 一道SQL的面试题之联想
一道SQL的面试题之联想 本人工作在一家小型的民营企业,主要从事业务系统的日常维护,二次开发,菜鸟一枚.周五经理准备面试两个开发人员,据简历,都还比较不错,让经理产生了想法,于是准备了一套面试题目,给 ...
- Qt Creator 中的段落 注释的 快捷方法【转载】
原文网址:http://jingyan.baidu.com/article/d5c4b52bc2bd1dda560dc5bb.html 作为一名合格的程序员,漂漂亮亮的注释是必须的!!怎么在Qt Cr ...