在我的 2.X 应用程序中,我们通过 URL 中的 Slug 检测哪个租户正在使用系统,即:
app/[tenant_slug]/[controller]/[action]
然而问题是当用户浏览器请求我们的服务器没有的一些静态文件时,例如:
app/apple-touch-icon-76x76.png
Cake 将“apple-touch-icon-76x76”作为tenant_slug - 所以我们的服务器必须确定不,它没有那个slug,然后返回一个未找到的错误。
我在路线上有以下匹配条件:
$validTenant = '[a-zA-Z0-9-_]+';
我还启用了以下功能:
CakePlugin::routes();
处理此问题的正确方法是什么,以便路由器知道如果请求了静态资源(即:以 .js、.css、.png 等结尾的文件),它不应该将文件名用作 slug?或者,我是否应该让我的代码查找tenant_slug (TenantAuthorizeComponent) 来处理有文件扩展名的情况?