为什么中间件陷入无限重定向循环?

时间:2018-05-24 14:28:12

标签: php middleware

这是一个php中间件(我使用的是php v7.1):

$slash = function (\Psr\Http\Message\ServerRequestInterface $req){
    $url = (string)$req->getUri()->getPath();        
    while($url[-1] === '/')
    {
        $url = substr($url, 0, -1);
    }        
    $response = new GuzzleHttp\Psr7\Response();        
    return $response->withHeader('Location', $url)
                    ->withStatus(301);
};

$req = \GuzzleHttp\Psr7\ServerRequest::fromGlobals();
$res = new \GuzzleHttp\Psr7\Response();

\Http\Response\send($slash($req, $res));

这会无限重定向请求的页面并使服务器崩溃。

有人可以帮我理解吗?

0 个答案:

没有答案