澳门威利斯人_威利斯人娱乐「手机版」

来自 网络资讯 2019-07-13 18:57 的文章
当前位置: 澳门威利斯人 > 网络资讯 > 正文

thinkphp路由规则,URL路由功能解析

ThinkPHP帮助U讴歌ZDXL路由作用,要启用路由功效,要求设置U汉兰达L_ROUTER_ON 参数为true。开启路由作用后,而且配备U路虎极光L_ROUTE_RULES参数后,系统会活动举行路由检查测量检验,如若在路由定义里面找到和当下U奥迪Q3L相称的路由名称,就能够实行路由剖析和重定向。
3.0本子的路由帮助做了拉长,富含法规路由和正则路由帮助。
一、准则路由
准绳路由是由2.1本子的简易路由发展而来,定义格式为:
格式1:'路由法规'=>'[分组/模块/操作]?额外参数1=值1&额外参数2=值2...'
格式2:'路由法则'=>array('[分组/模块/操作]','额外参数1=值1&额外参数2=值2...')
格式3:'路由法则'=>'外部地址'
格式4:'路由准则'=>array('外界地址','重定向代码')
注意事项:

Think PHP的路由法则暂只支持PATHINFO情势可能合营形式,达成对模块的路由操作。

1.重写  去除index.php

  • 路由法则中一经以“:”起首,表示动态变量,不然为静态地址

  • 格式2的附加参数能够流传数组可能字符串

  • 外表地址中假设要援用动态变量, 采纳 :1、:2 的措施

  • 路由法则支持变量的数字约束定义,举个例子:'news/:idd'=>'News/read'

  • 平整路由得以帮助全动态和意况结合定义,比如':user/blog/:id'=>'Home/Blog/user'

  • 路由准则非数字变量援助免去,比如'news/:cate^add|edit|delete'=>'News/category'

  • 路由法则中的静态地址部分不区分轻重缓急写

 

   .htaccess

上边是准绳路由的定义示例:

Think PHP富含四类路由:正则路由、准则路由、静态路由(URAV4L映射)、闭包协理。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

  1. 'URL_ROUTER_ON'   => true, //开启路由

  2. 'URL_ROUTE_RULES' => array( //定义路由准则

  3.     'news/:year/:month/:day' => array('News/archive', 'status=1'),

  4.     'news/:id'               => 'News/read',

  5.     'news/read/:id'          => '/news/:1',

  6. ),

 

伪静态 config.php 

按钮路由:

 //'配置项'=>'配置值'
 'URL_MODEL'=>2,
 'URL_PATHINFO_DEPR'=>'-',

里头定义了3条路由法规,假设我们拜访上面包车型客车UENCOREL


则会会相配到第二条准则路由,并深入分析到News模块的read操作,况且后边的数字会传入$_GET['id']变量。
假定大家拜见上边包车型大巴UOdysseyL


则会同盟到第一条法则路由,并深入分析到News模块的archive操作,而且会传入year、month和day的GET变量。
其次条路由法则还足以改成
'news/:year/:month/:day/'=>'News/archive?status=1',
普普通通情状下,需求传入数组参数的时候才会须要运用格式数组来定义
其三条路由法则是三个路由重定向,一般是用来网址改版后的U奇骏L迁移,要是之前的URAV4L访谈准则是

那么会重定向到新的中间路由法规

此间之所以用了重定向路由是为了告诉寻觅引擎那些地点早已爆发更动了 何况事后是不须要保留。
稍许景况下,大概会设有争持,假若要援救通过标志来访谈小说,

那就是说解析准绳就能够搅乱,然则大家能够更换路由准则如下:

'URL_ROUTER_ON'         =>  false

示例 : 

  1. 'URL_ROUTER_ON'   => true, //开启路由

  2. 'URL_ROUTE_RULES' => array( //定义路由法则

  3.     'news/:year/:month/:day' => array('News/archive', 'status=1'),

  4.     'news/:idd'             => 'News/read',

  5.     'news/:name'             => 'News/read',

  6.     'news/read/:id'          => '/news/:1',

  7. ),

 关闭路由的布局将差别意行使路由准绳。

2.路由

 

 config.php

news/:idd 法则表示当ULX570L中id参数为数字时才会合作
而 news/:name 准则定义 则会协作全数的字符意况,那也是暗中认可的情状,近些日子法规路由只差距数字和装有字符的情况,假使须求严刻的品种约束,请采纳正则路由定义准则。

路由定义准绳:

    //ThinkPHP匡助U牧马人L路由作用,要启用路由功效,必要设置USportageL_ROUTER_ON 参数为true
    'URL_威尼斯娱乐手机版网站,ROUTER_ON'=>true,
    //路由定义
    'URL_ROUTE_RULES'=> array(
         //'blog/:yeard/:monthd'=>'Blog/archive', //准则路由
         //'User/:uidd'=>'User/Userinfo', //准绳路由
         //'blog/:cate'=>'Blog/category', //准绳路由
         '/^User/(d )/' => 'User/Userinfo?uid=:1',//正则路由
         '/^User/(w )/' => 'User/Nameinfo?name=:1',//正则路由
     ),

比方,大家未来用准则路由来兑现此前用空操作完毕的都会功用,大家定义了City调节器如下:

路由准绳的定义格式为: '路由表明式'=>'路由地方和散布参数'
或许:array('路由表达式','路由地点','传入参数')

   示例 : 

  1. class CityAction extends Action{

  2.     public function city(){

  3.         //读取城市名

  4.          $cityName = $_GET['name'];

  5.         echo '当前都市' . $cityName;

  6.     }

  7. }

 

3.url大小写

这一有些不具体介绍Think PHP的定义方法,你能够在供给定义的时候自行查阅官方文书档案。

'URL_CASE_INSENSITIVE' =>true

大家只须求定义下边包车型大巴路由准则

 

就足以完毕URAV4L访谈不再区分轻重缓急写了。

  1. 'city/:name'  =>'City/city'

此地最主要介绍Think PHP 路由除了一般的重定向的效果与利益仍是能够做的事体:

4.database

动用302重定向(你也得以404):

return array(

本文由澳门威利斯人发布于网络资讯,转载请注明出处:thinkphp路由规则,URL路由功能解析

关键词: 澳门威利斯人 PHP 框架 thinkphp 路由