Varnish
regsub 的意外清漆行為
根據清漆文件,該
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/");