問題:tp5 路由是針對應用而不是模塊的,所以在模塊中配置路由是無效的。
解決方案:使用多入口文件,綁定不同的模塊,從而達到取消強制路由的目的
假設你想在index模塊上使用路由,但是在 admin 模塊上不使用路由,那麼,你可以在public下面重新定義一個新的入口文件,例如admin.php,內容如下:
// 定義項目路徑
define('APP_PATH', __DIR__ . '/../application/');
// 加載框架基礎文件
require __DIR__ . '/../thinkphp/base.php'; //注意是base.php
// 綁定當前入口文件到admin模塊
\think\Route::bind('admin');
// 關閉admin模塊的路由
\think\App::route(false);
// 執行應用
\think\App::run()->send();
然後訪問admin的話,就可以直接 www.test.com/public/admin.php/index(控制器)/index(方法)
具體訪問形式要依照你的具體設置訪問,簡而言之就是 admin.php 代替了 admin模塊
通過這種方式就能實現 tp5 路由對單模塊生效了
如有疑問,歡迎提出