答案1
实际上我认为你应该在 nginx 中实现重定向。原因如下:
Varnish 确实可以创建合成重定向,但它必须if
对每个请求进行冗长的比较,添加的重定向越多,速度就越慢。哦(n)。
在 nginx 中,你可以创建一个map
如下所示。由于map
存储在哈希表中,因此查找速度要快得多,大约哦(日志n)。只有少数重定向时差异并不重要,但数百次重定向之后差异可能会变得明显。之后57,000, 这将是非常慢用清漆。
此外,清漆现在可以缓存重定向,而不必在每次请求时都重新创建它们。
nginx 中的设置如下所示:创建map
旧的和新的 URL,例如:
map $uri $new_uri {
/sofa.html /living/sofas/
/beds.html /bedroom/beds/
}
然后在server
执行重定向的块中,只需添加一个测试来查看其中一个 URL 是否匹配,如果匹配则进行重定向:
if ($new_uri) {
return 301 $new_uri;
}