1. 程式人生 > >ThinkPHP5中路由的設定

ThinkPHP5中路由的設定

路由定義採用\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>