laravel11中间件排除特定路由访问
指定某个连接即可路由,访问不经过中间件,这个方法应该不是最好的,但是其他方法我想不到,这个方法是加了一个判断,地址是否包含了env环境变量中的地址,代码如下:
strpos 函数返回值:strpos 函数返回字符串首次出现的位置,如果未找到则返回 false。当字符串在开头时,返回值为 0(注意,在 PHP 中 0 被视为 false 的一种情况,所以需要使用全等运算符 === 来确保比较的是位置和值)。
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class KuayuMiddleware
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
// 实现判断逻辑,例如根据请求路径、请求方法或请求头等
if (strpos($request->path(), env('ADMIN_ROUTE_PREFIX')) === 0) {
return $next($request);
}
dd('执行中间件');
}
}
最近访问时间:2025-03-24 14:52:59