thinkphp的伪静态化

来源:http://www.prospettivedarte.com 作者:计算机教程 人气:139 发布时间:2019-07-13
摘要:设置默认的控制器和模块 1 // 绑定访问Admin模块 2 define('BIND_MODULE','Home'); 3 4 // 绑定访问Index控制器 5 define('BIND_CONTROLLER','Index'); 1.根据实现定义的路由规则,检验URL请求,确定执行或者拒
  1. 设置默认的控制器和模块

    1 // 绑定访问Admin模块 2 define('BIND_MODULE','Home'); 3 4 // 绑定访问Index控制器 5 define('BIND_CONTROLLER','Index');

1.根据实现定义的路由规则,检验URL请求,确定执行或者拒绝;

 

2.路由规则可自定义,隐藏了原URL地址,使访问地址,使访问更安全,地址更优雅。

例如:http://tp5.com/edu/test/demo1和http://tp5.com/demo1

开启路由后,其实只有二中状态,要么全部URL请求都采用路由访问,要么是有路由规则的用路由访问,没有的还是按照PATH_INFO规则访问。

 2.设置url模式,隐藏index.php

1.普通模式

配置:'url_route_on=>false

访问:全部采用PATH_INFO格式

'URL_MODEL'=>2,//REWRITE 模式
2.混合模式

配置:'url_route_on'=>true,'url_route_must'=>false,

已注册用路由访问,为注册仍用PATH_INFO访问

 

3.强制模式

配置:'url_route_on'=>true,'url_rote_must'=>false,

全部访问必须采用路由模式,包括首页'/'

 3.iis或者Apache设置重写

1.动态方法:

Route:rule('路由规则','路由地址','请求类型',[路由参数],[变量规则]);


2.配置数组:

return [

'路由规则'=>'路由地址',

'路由规则'=>['路由地址',[路由参数],[变量规则]]

];

路由规则就是用户最终用来访问的URL地址,并非原始URL地址;

路由标识符/:变量名1/:变量名2/:[:可选变量名]

路由地址,是用户最终要访问的URL,也是路由规则的目标,它不像路由规则,可以通过路由参数和变量规则进行检验,所以用户一定要确保路由地址的有效性。

1.路由地址

路由地址,就是用户用路由规则访问页面时,真实跳转到的地址;

2.路由地址的种类

1)路由到:模块/控制器/操作;

基本语法:Route::rule('路由规则','模块/控制器/操作');

重点理解:

可访问控制器:'url_controller_layer'=>'controller',

按从右到左的顺序进行地址解析:操作->控制器->模块,

支持额外参数:?变量名1=值1&变量名2=值2..

2)路由到:操作方法;

基本语法:Route::rule('路由规则','@模块/控制器/操作');

重点理解:

跳过模块初始化,直接执行控制器中的方法;

模块初始化:配置文件和公共文件;

调用试图时必须设置完整模版文件的路径。

3)路由到:类的方法

基本语法:

Route::rule('路由规则','完整命名空间类名@动态操作');

Route::rule('路由规则','完整命名空间类名::静态操作');

重点理解:

类必须创建在应用目录或子目录中;

静态方法支持外部动态访问,但建议在语法上分开;

为了项目规范,除非不得已,否者尽可能少用。

4)路由到:重定向地址

基本语法:Route::rule('路由规则','重定向地址');

重点理解:

重定向地址:'/'或者'http://'开头的外部地址;

'/':是以当前可访问的Web目录开始:如'public';

外部地址是301跳转,适用与网站迁移。

5)路由到:闭包函数

基本语法:

Route::rule('路由规则',function{

//闭包函数

});

重点理解:

闭包即使函数中的函数,或方法中的方法;

闭包函数可以接受通过路由规则传过来的参数;

不再执行任何操作,相当于把方法直接定义在参数中。

路由参数是用来检测路由地址的,准确的讲,是用来校验除了路由变量之外额所有内容。

1.路由参数

路由参数是用来验证当前的路由规则是否有效的重要依据;

2.路由参数的种类

1)请求类型:['method'=>'get|post'];

请求类型:最常用的是GET和POST,其它了解即可(如delete,put等);

使用方法:

如注册方法已生命类型则无设置:Route::get;

Route::rule:['method'=>'get|post'];

使用路由配置文件数组定义:['method'=>'get|post'];

2)URL后缀:['ext'=>'html|shtml']/['deny_ext'=>'php'];

限定可访问路由规则的URL后缀名称,默认为html;

使用方法:

允许的URL后缀:['ext'=>'html|shtml'];

禁止的URL后缀:['deny_ext'=>'jpg|png'];

允许URL后缀为空:['ext'=>''];

禁止的URL后缀为空:['deny_ext'=>''];

3)回调函数:['callback'=>'tp5.com'];

说明:回调函数返回true则路由规则有效,否者无效;

使用方法:

回调函数写在应用公共方法中:common.php;

语法:['callback'=>'回调函数名称'];

例如:用回调函数检测是否存在某个应用配置项,来决定是否执行路由规则。

4)域名检测:['domain'=>'tp5.com'];

说明:检测调用当前路由规则的域名是不是参数所指定的域名;

使用方法:

语法格式:['domain'=>'域名'];

支持子域名:['domain'=>'域名'];

5)更多参数,如绑定模块/合并额外参数等请查阅手册。

本文由皇牌天下投注网发布于计算机教程,转载请注明出处:thinkphp的伪静态化

关键词:

上一篇:thinkphp的Api文档皇牌天下投注网

下一篇:没有了

频道精选

最火资讯