当配置路由后 静态文件全失效
use Webman\Route;
Route::any('/{id}', [app\controller\Index::class, 'about'])->name('index.about');
Route::any('/{id}/{lg}', [app\controller\Index::class, 'auth'])->name('index.auth');
然后public目录下的所有文件都会执行路由了。
执行流程应该错了
不是应该根据请求头来判断是否为静态文件吗?具体我暂时还没有深入去看匹配的流程。
个人应该认为,第一先判断请求头是否为图片,CSS,JS,然后再判断请求的是不是文件之类的。最后再匹配路由
框架首先匹配的是路由。
如果你的id是数字,可以这样。
这逻辑是不是有点问题呢?
因为路由规则不一定全是数字有时是英文
这时如果加载的静态资源也是英文层级的话那就是直接找路由了。
我把静态资源先读取的话这样就不影响后面的了。或者说根据请求头来判断一下优先级
其实如果单纯做API接口不做静态资源的话。是没有问题的。
你也可以去复现一下这个问题。
已经调整为优先匹配静态文件,请更新 workerman/webman-framework 或更高版本
composer require workerman/webman-framework 1.0.20