ThinkPHP5中路由的設定
阿新 • • 發佈:2018-12-30
路由定義採用\think\Route類的rule方法註冊,通常是在應用的路由配置檔案application/router.php中進行註冊,
例如
use think\Route;
Route::rule('login','admin/login/index');
或者採用批量註冊的方式return[
'__alias__' => [
'login' => 'admin/login/index',
'home' => 'index/index',
'info' => 'index/index/getInfo'
]
];
關於一些細節上的問題(例如method方式的監聽),這裡不再贅述。
很多人在設定的時候不成功主要是因為沒有理解手冊上的這斷話:
http://serverName/login;
自動轉到
http://serverName/admin/login/index
ThinkPHP5.0的路由規則定義是從根目錄開始,而不是基於模組名的。
這裡的根目錄不是指專案的目錄。
例如:我將專案(fontend)放到hotdoc目錄下,將入口檔案放到fontend/public/下,因此,只要訪問localhost/fontend/public/就會自動訪問該資料夾下的index.php入口檔案,之後的訪問規則就是:模組/控制器/方法,
因此這裡的serverName指的就是locahost/fontend/public/index.php。
然而自己的開發的時候這麼長的url還是不利於操作,因此可以註冊一個虛擬域名指向該路徑。
具體方法如下:
找到apache\conf\extra\httpd.conf,在文末加入如下的語句:
NameVirtualHost localhost:80
<VirtualHost localhost:80>
ServerName "fontend.com"
DocumentRoot "C:/Program Files (x86)/myenv/apache/htdocs/fontend/public/index.php"
</VirtualHost>