一、路由應用場景(前臺要,後臺不要):前臺全部人均可以看,因此前臺的話設置路由,後臺的話並非全部人都進去,因此不須要設置路由 php
二、模塊分離來實現路由場景應用:先後臺模塊分離以後,就能夠分別設置是否須要使用路由thinkphp
三、模塊綁定來實現模塊分離:例如前臺模塊綁定爲index.php,後臺模塊綁定爲admin.phpapache
四、隱藏入口文件:前臺隱藏入口文件能夠簡化path_info(url路徑長度),很是有必要數組
五、路由的設置(配置規則、鍵值對):路由的設置只須要的路由的那個配置文件中加路由規則,很簡單,就是鍵值對的形式Route::rule('test','index/index/test');app
六、路由的三種模式:路由的三種模式就是路由和path_info的三種混合方式框架
注意點:iview
一、路由的另外做用():有利於搜索引擎優化ide
二、隱藏入口文件操做:隱藏入口文件是須要修改apach的配置的學習
三、隱藏入口文件的原理:隱藏入口文件的原理是正則替換,也就是訪問沒有文件的時候加上入口文件RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]優化
四、路由範圍:路由只針對應用,不針對模塊,所以路由的設置也是針對應用下面的全部模塊。
五、路由和path_info:要注意好像設置路由以後,就不能使用pathinfo訪問了
延伸:
後面要基於個人項目寫一個 路由實例 的文章出來
一、路由做用:
一、簡化URL地址,方便你們記憶
二、有利於搜索引擎優化
二、入口文件:
一、先後臺分離
a、在網站public目錄下(C:\AppServ\www\tp5\public) 新建admin.php
b、打開admin.php
<?php
// 定義應用目錄
define('APP_PATH', __DIR__ . '/../application/');
// 加載框架引導文件
require __DIR__ . '/../thinkphp/start.php';
二、綁定模塊
一、實現功能
index.php 這個入口文件 只能去前臺模塊
admin.php 這個入口文件 只能去後臺模塊 #建議後臺的入口文件稍微複雜一些
二、如何實現
在入口文件中
define("BIND_MODULE",'index'); # 綁定前臺模塊
define("BIND_MODULE",'admin'); # 綁定後臺模塊
三、URL地址發生改變
一、入口綁定以前
http://www.tp.com/admin.php/模塊/控制器/方法
二、入口綁定以後
http://www.tp.com/admin.php/控制器/方法
三、隱藏入口文件
一、開啓apache的重寫(C:\AppServ\Apache24\conf\httpd.conf)
# 把註釋開啓
LoadModule rewrite_module modules/mod_rewrite.so
二、設置訪問權限 (C:\AppServ\Apache24\conf\extra\httpd-vhosts.conf)
<VirtualHost *:80>
DocumentRoot "C:\AppServ\www\tp5\public"
ServerName www.tp5.com
<Directory "C:\AppServ\www\tp5\public">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
三、入口文件,在網站public目錄下新建.htaccess 文件
原理是正則
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
四、重啓服務
五、url地址變化
一、隱藏以前
http://www.tp.com/index.php/Index/test
二、隱藏以後
http://www.tp.com/Index/test
三、Tp5.0路由學習注意:
一、支持三種方式的URL解析規則
二、路由只針對應用,不針對模塊,所以路由的設置也是針對應用下面的全部模塊。
三、關閉後臺模塊,在後臺入口文件(C:\AppServ\www\tp5\public)
// 定義應用目錄
define('APP_PATH', __DIR__ . '/../application/');
// 綁定後臺
define('BIND_MODULE','admin');
// 加載框架引導文件
require __DIR__ . '/../thinkphp/start.php';
// 關閉admin模塊的路由
// 必須寫到 加載框架引導文件 以後不然報錯
\think\App::route(false);
四、路由模式
一、普通模式
a、定義
關閉路由,徹底使用默認的 PATH_INFO 方式URL:
b、形式
http://www.tp.com/admin.php/index/index
c、如何設置
在application下面的config.php的配置文件中
// 是否開啓路由
'url_route_on' => false,
// 是否強制使用路由
'url_route_must' => false,
二、混合模式
a、定義:
開啓路由,並使用路由定義+默認 PATH_INFO 方式的混合
b、如何設置
// 是否開啓路由
'url_route_on' => true,
// 是否強制使用路由
'url_route_must' => false,
三、強制模式
一、定義:
開啓路由,並設置必須定義路由才能訪問
二、如何設置
// 是否開啓路由
'url_route_on' => true,
// 是否強制使用路由
'url_route_must' => true,
五、設置路由-動態單個註冊
0、設置路由格式
Route::rule('路由表達式','路由地址','請求類型','路由參數(數組)','變量規則(數組)')
一、設置路由文件
C:\AppServ\www\tp5\application\route.php
二、如何設置
// 引入系統類
use think\Route;
// 定義路由規則
// 設置路由以後,就不能使用pathinfo訪問了
// 註冊路由 訪問到Index模塊index控制器index方法
Route::rule('/','index/index/index');
// 註冊路由test 訪問到Index模塊index控制器test方法
Route::rule('test','index/index/test');
三、路由的形式
一、靜態地址路由
// 註冊路由test 訪問到Index模塊index控制器test方法
Route::rule('test','index/index/test');
一、路由做用:
一、簡化URL地址,方便你們記憶
二、有利於搜索引擎優化
二、入口文件:
一、先後臺分離
a、在網站public目錄下(C:\AppServ\www\tp5\public) 新建admin.php
b、打開admin.php
<?php
// 定義應用目錄
define('APP_PATH', __DIR__ . '/../application/');
// 加載框架引導文件
require __DIR__ . '/../thinkphp/start.php';
二、綁定模塊
一、實現功能
index.php 這個入口文件 只能去前臺模塊
admin.php 這個入口文件 只能去後臺模塊 #建議後臺的入口文件稍微複雜一些
二、如何實現
在入口文件中
define("BIND_MODULE",'index'); # 綁定前臺模塊
define("BIND_MODULE",'admin'); # 綁定後臺模塊
三、URL地址發生改變
一、入口綁定以前
http://www.tp.com/admin.php/模塊/控制器/方法
二、入口綁定以後
http://www.tp.com/admin.php/控制器/方法
三、隱藏入口文件
一、開啓apache的重寫(C:\AppServ\Apache24\conf\httpd.conf)
# 把註釋開啓
LoadModule rewrite_module modules/mod_rewrite.so
二、設置訪問權限 (C:\AppServ\Apache24\conf\extra\httpd-vhosts.conf)
<VirtualHost *:80>
DocumentRoot "C:\AppServ\www\tp5\public"
ServerName www.tp5.com
<Directory "C:\AppServ\www\tp5\public">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
三、入口文件,在網站public目錄下新建.htaccess 文件
原理是正則
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
四、重啓服務
五、url地址變化
一、隱藏以前
http://www.tp.com/index.php/Index/test
二、隱藏以後
http://www.tp.com/Index/test
三、Tp5.0路由學習注意:
一、支持三種方式的URL解析規則
二、路由只針對應用,不針對模塊,所以路由的設置也是針對應用下面的全部模塊。
三、關閉後臺模塊,在後臺入口文件(C:\AppServ\www\tp5\public)
// 定義應用目錄
define('APP_PATH', __DIR__ . '/../application/');
// 綁定後臺
define('BIND_MODULE','admin');
// 加載框架引導文件
require __DIR__ . '/../thinkphp/start.php';
// 關閉admin模塊的路由
// 必須寫到 加載框架引導文件 以後不然報錯
\think\App::route(false);
四、路由模式
一、普通模式
a、定義
關閉路由,徹底使用默認的 PATH_INFO 方式URL:
b、形式
http://www.tp.com/admin.php/index/index
c、如何設置
在application下面的config.php的配置文件中
// 是否開啓路由
'url_route_on' => false,
// 是否強制使用路由
'url_route_must' => false,
二、混合模式
a、定義:
開啓路由,並使用路由定義+默認 PATH_INFO 方式的混合
b、如何設置
// 是否開啓路由
'url_route_on' => true,
// 是否強制使用路由
'url_route_must' => false,
三、強制模式
一、定義:
開啓路由,並設置必須定義路由才能訪問
二、如何設置
// 是否開啓路由
'url_route_on' => true,
// 是否強制使用路由
'url_route_must' => true,
五、設置路由-動態單個註冊
0、設置路由格式
Route::rule('路由表達式','路由地址','請求類型','路由參數(數組)','變量規則(數組)')
一、設置路由文件
C:\AppServ\www\tp5\application\route.php
二、如何設置
// 引入系統類
use think\Route;
// 定義路由規則
// 設置路由以後,就不能使用pathinfo訪問了
// 註冊路由 訪問到Index模塊index控制器index方法
Route::rule('/','index/index/index');
// 註冊路由test 訪問到Index模塊index控制器test方法
Route::rule('test','index/index/test');
三、路由的形式
一、靜態地址路由
// 註冊路由test 訪問到Index模塊index控制器test方法
Route::rule('test','index/index/test');