您在使用ThinkPHP6.0的時候或許會遇到,大多應用模式的情況下,路由生成的URL會帶應用名。舉個是簡單的例子,加入我把網(wǎng)站的前臺、后臺分為兩個應用,開啟路由并由url含數(shù)生成的URL地址會自動加上應用名。如:
http://www.test.com/index/news/1.html
而我實際想要的效果是如下的:
http://www.test.com/news/1.html
在ThinkPHP5.1時代是可以直接就隱藏應用名,當然,當時不叫應用,應該叫模塊。那么,在ThinkPHP6.0下是否也能實現(xiàn)類似ThinkPHP5.1時的效果的呢?答案是肯定的,但也比較曲折,而且有時并不一定是我們想要的。廢話不多說,具體操作如下:
1、在config/app.php中配置域名綁定,如:
'domain_bind' => [ 'www'=>'index', 'admin'=>'admin', ],
2、在應用index下建文件route/route.php,路徑如下(原諒我還在用xp系統(tǒng)
):

route.php文件內(nèi)容如下:
<?php
use think\facade\Route;
Route::rule('news/:id','index/Index/news','GET');這樣后訪問http://www.test.com/news/1.html就會路由到應用index的Index類的news方法上了。
在index應用中用生成url如下:
url('index/Index/news',['id'=>1]);生成的url為/news/1.html
但這樣感覺很不爽啊,要設置多域名綁定,感覺挺復雜的了。