thinkphp 学习_4中URL模式

ThinkPHP有四种url模式:

0 普通模式 http://localhost/imooc/index.php?m=Index&a=user&id=1

    普通模式也就是传统的GET传参方式来指定当前访问的模块和操作,出现了m和其他页面后端取值有冲突的情况下要么 ,后端取值方式,要么改写 不同模式的命名

 ‘VAR_MODULE‘ => ‘module‘, // 默认模块获取变
 ‘VAR_CONTROLLER‘ => ‘controller‘, // 默认控制器获取变量
 ‘VAR_ACTION‘ => ‘action‘, // 默认操作获取变量

1默认模式 pathinfo模式 http://localhost/imooc/index.php/Index/user/id/1.html

提供了最好的SEO支持,系统内部已经做了环境的兼容处理,所以能够支持大多数的主机环境:

修改/controller/action/params.html  的分割配置 ‘URL_PATHINFO_DEPR‘=>‘-‘,

2重写模式 http://localhost/imooc/Index/user/id/1.html

重写模式是子啊pathinfo的基础上得再改进:可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。

Apache则需要在入口文件的同级添加.htaccess文件:

<IfModule mod_rewrite.c>
 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d 

RewriteCond %{REQUEST_FILENAME} !-f

 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

3兼容模式 http://localhost/imooc/index.php?s=/Index/user/id/1.html

兼容模式配合Web服务器重写规则的定义,可以达到和REWRITE模式一样的URL效果。

apache的.htaccess配置写法

<IfModule mod_rewrite.c>
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>
时间: 2024-12-22 21:25:28

thinkphp 学习_4中URL模式的相关文章

thinkphp学习笔记6—url模式

原文:thinkphp学习笔记6-url模式 入口文件是应用的唯一入口,因为可以多入口,每个应用可以对应一个入口文件,系统会从rul参数中解析当前请求的模块,控制器,操作.ThinkPHP是区分大小写的,考虑到linux是区分大小写的,所以在ThinkPHP中模块,控制器,模型等都是区分大小写的,并且使用驼峰命名规则. 如果我们直接访问入口文件index.php,url中没有给出模块,控制器,操作,系统会默认访问Home模块下的Index控制器下的index操作,因此下面的两种访问方法得到的结果

ThinkPHP 学习笔记(六) URL模式

1.URL大小写 ThinkPHP框架的URL是区分大小写(主要是针对模块.控制器和操作名,不包括应用参数)的,这一点非常关键,因为ThinkPHP的命名规范是采用驼峰法(首字母大写)的规则,而URL中的模块和控制器都是对应的文件,因此在Linux环境下面必然存在区分大小写的问题. 框架内置了一个配置参数用于解决URL大小写的问题,如下:     'URL_CASE_INSENSITIVE'=>true, 当URL_CASE_INSENSITIVE设置为true的时候表示URL地址不区分大小写,

ThinkPHP中URL访问模式详解

一.ThinkPHP中支持的四种URL访问模式                                                   所谓URL访问模式,指的是以哪种形式的URL地址访问网站. URL访问模式的意义在于:可以让网站中的所有链接有一个统一的格式. URL访问模式 URL模式 URL_MODEL设置 示例 普通模式 0 http://localhost/?m=home&c=user&a=login&var=value PATHINFO模式 1 http:/

Nginx下支持ThinkPHP的Pathinfo和URl Rewrite模式

Nginx下支持ThinkPHP的Pathinfo和URl Rewrite模式 BY 孙 权 · 2014年8月6日 我的环境 系统 : Ubuntu12.04 x86_64 环境 : Nginx1.1.19+PHP5.3.10+Mongo2.6.3 由于公司要用Nginx+Mongo+PHP,所以我要把刚刚配置好的LAMP推翻,然后重新安装LNMP.软件安装就不在这里介绍了,如果有需要,可以看这里. 如何安装Nginx. 下面介绍如何使Nginx支持ThinkPHP的Pathinfo和URL

ThinkPHP 3.2.3(三)架构之URL模式

一.标准URL格式 http://serverName/index.php/模块/控制器/操作 二.URL大小写 在/ThinkPHP/Conf/convention.php文件里有URL大小写的配置选项,默认false表示URL区分大小写,true则表示不区分大小写. 手册说,开启调试模式的情况下,这个参数是false,但我的项目中该参数依然是true. 三.URL模式 ThinkPHP支持的URL模式有四种:普通模式.PATHINFO.REWRITE和兼容模式,可以通过设置URL_MODEL

ThinkPHP的URL模式有四种,默认的PATHINFO模式

ThinkPHP的URL模式有四种,默认是PATHINFO模式,其他三种分别为:普通模式.REWRITE和兼容模式. 浏览器输入格式为:http://localhost/demo39/index.php/模块/控制器/操作 在Home的Controller建立UserController.calss.php,如下图所示: 在浏览器上输入 http://localhost/demo39/index.php/Home/User 得到的结果为: user index 这时在浏览器中输入上面所说的输入格

thinkphp学习笔记3—项目编译和调试模式

原文:thinkphp学习笔记3-项目编译和调试模式 1.项目编译 在章节2.4项目编译中作者讲到使用thinkphp的项目在第一次运行的时候会吧核心需要加载的文件去掉空白和注释合并到一个文件中编译并缓存,第二次运行时直接载入编译缓存,这样省去一些IO开销,加快执行速度.并且在3.0以上的版本中海做了一些优化: 1.合并和兴编译缓存和项目编译缓存,不再生成两个缓存文件 2.直接对本地环境生成设置和常量定义减少环境判断 3.编译缓存可以直接替换框架入口甚至项目入口,甚至脱离框架独立运行 4.通过参

thinkphp url模式

入口文件是应用的单一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作: http://serverName/index.php/模块/控制器/操作 这是3.2版本的标准URL格式. 可以通过设置模块绑定或者域名部署等方式简化URL地址中的模块及控制器名称. URL大小写 ThinkPHP框架的URL是区分大小写(主要是针对模块.控制器和操作名,不包括应用参数)的,这一点非常关键,因为ThinkPHP的命名规范是采用驼峰法(首字母大写)的规则,而UR

MVC4 学习笔记 之 URL中存在编译的空格 20%20%

/Config/Edit/QQCC%20%20%20%20%20%20%20 原因是: 通过EF直接添加了空格? NO 是因为你的数据库字段设计问题,因为你当然设计如>:sID nchar(10) 那你一定想输入10个字符,但实际你只输入了必个,所以后面数据自动帮你补空了. 从EF数据库取出数据,在绑定的时候为安全,编码了,所以显示%20,代表一个空格. MVC4 学习笔记 之 URL中存在编译的空格 20%20%,布布扣,bubuko.com