thinkphp的四种控制器URL访问方式
来源:互联网 发布:knn算法例题 编辑:程序博客网 时间:2024/05/17 07:12
我们在上面的执行过程里面看到的URL是默认情况下,其实ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式、PATHINFO、REWRITE和兼容模式。
一、普通模式 :设置URL_MODEL 为0
采用传统的URL参数模式
http://<serverName>/appName/?m=module&a=action&id=1
普通URL模式和在关闭URL_DISPATCH_ON的情况下面的效果是一样的,只是普通URL模式还具有路由功能。如果你并不需要使用路由功能,而且还在使用普通模式的话,建议直接关闭URL_DISPATCH_ON,效率会更高。
二、PATHINFO模式 :设置URL_MODEL 为1
默认情况使用PATHINFO模式,ThinkPHP内置强大的PATHINFO支持,提供灵活和友好URL支持。PATHINFO模式根据不同的设置还包括普通模式和智能模式两种:
普通模式 设置URL_PATHINFO_MODEL参数为1
该模式下面URL参数没有顺序,例如
http://<serverName>/appName/m/module/a/action/id/1
http://<serverName>/appName/a/action/id/1/m/module
以上URL等效
智能模式 设置URL_PATHINFO_MODEL参数为2 (系统默认的模式)
自动识别模块和操作,例如
http://<serverName>/appName/module/action/id/1/ 或者
http://<serverName>/appName/module,action,id,1/
在智能模式下面,第一个参数会被解析成模块名称(或者路由名称,下面会有描述),第二个参数会被解析成操作(在第一个参数不是路由名称的前提下),后面的参数是显式传递的,而且必须成对出现,例如:
http://<serverName>/appName/module/action/year/2008/month/09/day/21/
其中参数之间的分割符号由URL_PATHINFO_DEPR参数设置,默认为”/”,例如我们设置URL_PATHINFO_DEPR为“-”的话,就可以使用下面的URL访问
http://<serverName>/appName/module-action-id-1/
注意不要使用”:” 和”&”符号进行分割,该符号有特殊用途。
略加修改,就可以展示出富有诗意的URL,呵呵~
如果想要简化URL的形式可以通过路由功能(后面会有描述)以及空模块和空操作。
在PATH_INFO模式下面,会把相关参数转换成GET变量,以及并入REQUEST变量,因此不妨碍URL里面的GET和REQUEST变量获取。
三、REWRITE模式: 设置URL_MODEL 为2
该URL模式和PATHINFO模式功能一样,除了可以不需要在URL里面写入口文件,和可以定义.htaccess 文件外。在开启了Apache的URL_REWRITE模块后,就可以启用REWRITE模式了,具体参考下面的URL重写部分。
四、兼容模式: 设置URL_MODEL 为3
兼容模式是普通模式和PATHINFO模式的结合,并且可以让应用在需要的时候直接切换到PATHINFO模式而不需要更改模板和程序。兼容模式URL可以支持任何的运行环境。
兼容模式的效果是:
http://<serverName>/appName/?s=/module/action/id/1/
并且也可以支持参数分割符号的定义,例如在URL_PATHINFO_DEPR为~的情况下,下面的URL有效:
http://<serverName>/appName/?s=module~action~id~1
其实是利用了VAR_PATHINFO参数,用普通模式的实现模拟了PATHINFO的模式。但是兼容模式并不需要自己传s变量,而是由系统自动完成URL部分。正是由于这个特性,兼容模式可以和PATHINFO模式之间直接切换,而不需更改模板文件里面的URL地址连接。
某些服务器环境不能良好的支持PATHINFO,或者需要进行额外的配置才可以支持,如果你确认你的服务器环境不支持PATHINFO,可以选择普通模式或者兼容模式URL运行。
- thinkphp的四种控制器URL访问方式
- thinkphp四种url访问方式详解
- thinkphp四种url访问方式详解
- 【ThinkPHP】TP-四种url访问的方式_URL_MODEL
- thinkPHP四种URL访问方式(二)
- ThinkPHP 常用配置 和 四种url访问方式
- php访问url的四种方式
- php访问url的四种方式
- php访问url的四种方式
- ThinkPHP的四种URL模式
- ThinkPHP的四种URL模式 URL_MODEL
- ThinkPHP中pathinfo的两种模式、四种路径访问模式和URL重写
- ThinkPHP中pathinfo的两种模式、四种路径访问模式和URL重写
- Thinkphp学习笔记(二)url的4种访问方式
- ThinkPHP的URL访问模式
- ThinkPHP MVC模式、URL访问控制器和调试模式
- ThinkPHP控制器URL模式
- ThinkPHP 四种URL模式
- IDE、SATA、SCSI、SAS、iSCSI
- 作为项目经理如何和大客户沟通打交道
- java中如何判断String中的内容是否为数字?
- JAVA中的匿名类、内部类和匿名内部类
- Java Excel Api及详细教程,适合第一次在Eclipse上读取Excel同学,基本步骤!
- thinkphp的四种控制器URL访问方式
- Tomcat性能调优方案
- camera调试记录
- 初学MMX与SIMD
- 开机自动运行
- 小项目:银行系统1(有瑕疵)
- Io基本操作
- 函数名与函数指针
- 学习ADO.NET 的网站