网络浏览器缓存重定向响应?还是拉拉维尔?

时间:2017-03-12 03:32:13

标签: php laravel https

所以我用Laravel 5.4建立了一个小的URL缩短器,我有一个路由:domain.com/{urlkey} - 我抓住密钥并在Redis中的Laravel缓存中查找。我还有另一个跟踪访问次数的密钥 - 所以无论何时访问URL我只需增加:visits键。

现在我注意到,当我将其中一个URL复制并粘贴到新标签页中时......或者甚至从我的应用程序中单击它只会完全忽略我的代码。我可以放入模具(),它甚至不会停止!这永远不会触发密钥的缓存增量...

任何想法是怎么回事?可能缺少一些非常明显的东西。

简单的查找和增量如下:但我甚至认为它没有达到代码?为什么会这样?

其他请注意,该域名为https - 但我已在http和https

上对此进行了测试
    // retrieve redirect URL from cache
    $redirectUrl = Cache::get('short:' . $shortKey);

    // if we find the redirect in the cache - increment visits - 301 redirect
    if($redirectUrl)
    {
        Cache::increment('short:' . $shortKey . ':visits', 1);

        return redirect($redirectUrl, 301);
    }

1 个答案:

答案 0 :(得分:1)

因为301 =永久移动,浏览器会缓存它并在下次自动重定向而不调用原始页面

如果我没有误会,如果您希望重定向始终通过原始页面,则需要使用{ "datasetReference":{ "projectId":"<removed>", "datasetId":"<removed>" }, "access":[ ... //other access roles { "specialGroup":"allAuthenticatedUsers", "role":"READER" } ] } 替换301