Varnish

regsub 的意外清漆行為

  • October 26, 2012

根據清漆文件,該regsub方法不應導致 301 重定向。然而,這似乎是在我的案例中發生的事情(也就是說,瀏覽器中的 url 實際上發生了變化)。

這是我的配置的樣子:

sub vcl_recv {
   ...
   set req.url = regsub(req.url, "^/event/([-\w]+)/(.*)/$", "/event/\1");
   ...
}

/event/testevent/1234/被重定向到/event/testevent

後面,我有 nginx 和 django varnish-> nginx-> uwsgi->django

哦,我明白髮生了什麼…… Django 在 URL 上附加了一個斜杠並進行了重定向。

這可以解決問題:

set req.url = regsub(req.url, "^/event/([-\w]+)/(.*)/$", "/event/\1/");

引用自:https://serverfault.com/questions/442694