所以我用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);
}
答案 0 :(得分:1)
因为301 =永久移动,浏览器会缓存它并在下次自动重定向而不调用原始页面
如果我没有误会,如果您希望重定向始终通过原始页面,则需要使用{
"datasetReference":{
"projectId":"<removed>",
"datasetId":"<removed>"
},
"access":[
... //other access roles
{
"specialGroup":"allAuthenticatedUsers",
"role":"READER"
}
]
}
替换301