1.路由快速入門php
1.1 概念thinkphp
是指把數據從一個地方傳送到另外一個地方的行爲和動做,而路由器,正是執行這種行爲動做的機器。它的英文名稱爲Router,是一種鏈接多個網絡或者網段的網絡設備,它能將不一樣網絡或者網段之間的數據信息進行「翻譯」,已使它們可以相互「讀懂」對方的數據,從而構成一個更大的網絡。安全
總結起來就一句話:路由就是網絡數據傳輸的最佳路徑!( 廣義上解釋)請看下圖:網絡
1.2 項目當中的路由app
一個有效的Url請求的執行流程優化
路由:路由就像一個總調度,把用戶不一樣的請求,分發到對應的URL地址上(以項目中的方式來說)網站
ThinkPHP5的路由過程,就是從入口文件開始,找到對應方法的過程。搜索引擎
URL: http://tp5.com/index.php/index/user/add/101/peterurl
1.3 傳統URL地址以及TP5普通路由spa
傳統URL地址的基本語法:http://域名/入口文件?m=模塊名&c=控制器名&a=方法名&鍵1=值1&鍵2=值2
例如:http://tp3.com/index.php?m=index&c=user&a=add&id=101
(圖爲tp3的路由地址解析)
ThinkPHP5已經廢棄傳統URL模式,所有采用PATH_INFO模式。
例子:http://tp5.com/index.php/index/user/add/101 PATH_INFO模式地址
PATH_INFO模式的特色:PATH_INFO模式地址,不單單縮短了URL,最重要的是看上去與靜態網頁地址幾乎徹底同樣,這樣就達到了欺騙搜索引擎,提升網頁收錄效果,利於網站優化與推廣!
1.4 註冊路由
1.4.1 路由規則寫在哪?
(1).路由規則寫在與應用配置同級的route.php文件中;
(2).路由規則主要使用路由類:Route註冊
1.4.2 註冊路由的步驟
1.4.2.1 爲啥要註冊路由
緣由:若不開啓路由,即URL很長,而且別人很容易就知道你所指向的模塊,安全風險高,易被路由注入①,爲了防止這種狀況發生。
注:①請自行百度,搜索路由注入。
1.4.2.2 開啓路由
(1)Thinkphp5.0版本:
須要打開thinkphp/convention.php 查看url_route_on是否開啓路由,通常是開啓的
(2)Thinkphp5.1的版本:
不用查看,由於直接支持路由配置,因此在thinkphp/convention.php沒有這個url_route_on這個配置,因此這步在5.1中是能夠不用管。
1.4.2.3 註冊路由
5.1版本默認就在application 同級下就有route的配置文件 ,以前的版本須要從新的定義route.php這文件
路由訪問效果
若按照如今以前的方式已經不能使用,已經被註冊的路由,也就不能使用PATHINFO模式訪問
1.5 路由的做用
1.根據事先定義的路由規則,檢驗URL請求,肯定執行或者拒絕
2.路由規則能夠自定義,隱藏了原URL地址,使訪問更安全,地址更優雅,利於seo優化