gpt4 book ai didi

http - Varnish 重定向

转载 作者:可可西里 更新时间:2023-11-01 15:30:34 27 4
gpt4 key购买 nike

最近我从PHP平台转到了一个基于Java的新系统。新网站有漂亮的 URL,例如 -

http://mysite.com/science/2013/03/22/universe-is-older-than-previously-thought

旧网站的 URL 类似于 -mysite.com/details.php?cid=37&id=239411

对于搜索引擎结果,我们需要将所有这些包含 /details.php? 的 URL 重定向到主页,比如 urlredirect.com。我一直在看这些例子 https://www.varnish-cache.org/trac/wiki/VCLExampleRedirectInVCL并在我的 Varnish 配置的 redirect.vcl 中提出了以下内容。

在vcl_recv函数中-

 if(req.url~ "^/details.php?$" ) {
error 301 "Moved Temporarily";
}

但是我很困惑 vcl_error 函数中应该有什么?现在是这样的-

  else if(obj.status == 301 && req.url~ "^/details.php?$"){
set obj.http.Location = "http://bdnews24.com";
return (deliver);
}

我觉得就这么简单?与做过这件事的人分享经验仍然很棒。

最佳答案

如果你想在 Varnish 4.0 中做这个,做它的方式有点改变

#default.vcl

sub vcl_recv {
if (req.req.url~ "^/details.php?$") {
return (synth (750, "")); #This throws a synthetic page so the request won't go to the backend
}
}

sub vcl_synth {
if (resp.status == 750) {
set resp.status = 301;
set resp.http.Location = "http://bdnews24.com";
return(deliver);
}
}

关于http - Varnish 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15597174/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com