Se você quiser reescrever internamente as URLs, coloque o seguinte (não testado) em vcl_recv:
set req.url = regsub(
req.url,
"^/products/.*([&?]startindex=([0-9]+)|[&?]endindex=([0-9]+))*",
"/products/?paginate=:"
);
Se você deseja 301 solicitações de um estilo de URL para o outro, isso é um pouco mais complicado, mas aqui está um começo difícil sobre como você pode fazer isso:
vcl_recv:
set req.http.X-Redirect-URL = regsub(
req.url,
"^/products/.*([&?]startindex=([0-9]+)|[&?]endindex=([0-9]+))*",
"/products/?paginate=:"
);
error 700 req.http.X-Redirect-URL;
vcl_error:
if (obj.status == 700) {
set obj.http.Location = obj.response;
set obj.status = 301;
set obj.response = "Moved Permanently";
}
Obviamente, se você tiver outros parâmetros, terá que passar por mais alguns aros para garantir que eles sejam passados corretamente.