问题: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/public/admin.php/index(控制器)/index(方法)
具体访问形式要依照你的具体设置访问,简而言之就是 admin.php 代替了 admin模块
通过这种方式就能实现 tp5 路由对单模块生效了
如有疑问,欢迎提出
更多推荐
Thinkphp5 路由对单模块生效
发布评论