> 在TP6中如果采用了多應用模式,每個應用的路由定義和匹配都是獨立的 應用路由都在 `app/應用/route` 目錄下定義,應用路由定義文件示例如下: ``` app/index/route/web.php app/index/route/api.php app/admin/route/web.php ``` > 特別注意:好好體會這句話 ``` 應用的路由規(guī)則其實是定義的入口文件(或者應用名)后面的URL部分,而不包含應用。 ``` 控制器方法默認訪問方式(pathinfo):/應用/控制器/方法 應用路由定義的只是應用后面的部分:也就是簡化的是 `控制器/方法` > 舉例:應用路由只能定義應用名后面的部分,應用名未能做簡化 **創(chuàng)建文章控制器** ```php <?php namespace app\index\controller; class Article { public function detail($id) { return '文章id: ' . $id; } } ``` **創(chuàng)建index應用路由定義文件:`app/index/route/web.php`** ```php <?php // index應用路由定義文件 use think\facade\Route; Route::get('art/:id', 'article/detail'); ``` ``` /index/article/detail/id/1 定義成為 /index/art/1 ``` **使用路由訪問**  > 隱藏路由中的應用名 **方案一:入口文件綁定應用** 修改入口文件 `public/index.php`,將以下內(nèi)容 ``` $response = $http->run(); ``` 修改為(添加name方法使其綁定到指定的應用) ``` $response = $http->name('index')->run(); ``` 此時路由中必須省略應用名:`art/12`  **方案二:子域名綁定應用** 1、配置`hosts`:`C:\Windows\System32\drivers\etc\hosts` ```php 127.0.0.1 tp6.cy 127.0.0.1 liang.tp6.cy ``` 2、apache 虛擬主機配置文件,先保證兩個域名都能訪問當前項目 ```php <VirtualHost *:80> DocumentRoot "E:\www\thinkphp\tp6\public" ServerName tp6.cy ServerAlias liang.tp6.cy </VirtualHost> ``` 3、修改配置文件:`config/app.php`,添加`域名綁定` + 鍵名:liang 代表當前域名的二級域名前綴,即 `liang.tp6.cy` + 鍵值:index 代表應用名 + 以下配置作用:將二級域名 `liang.tp6.cy` 綁定到 `index應用` ```php 'domain_bind' => [ 'liang' => 'index' ], ``` 