我不知道如何在 VCL 中分割一长行代码。我已经检查了 Varnish docs 和 Fastly 的,除了关于 VTC 文件的 this 之外,我找不到任何东西,我也测试过这些文件,但不能使用字符串,可能是由于缩进。
我很难相信该语言不允许分割长行,或者文档没有一个示例。
if (req.url.path ~ "^/stuff/otherstuff/(?:[a-z0-9_]+)(?:/(?:2018|2018_2019|2019|2019_2020|2020|2020_2021|2021|2021_2022|2022|2022_2023|2023|2023_2024|2024))?(?:/(?:cool|story|bro)(?:/.*)?)?/?$") {
# do something
}
你是对的,在 VCL 中无法本地执行此操作。
但是,Uplex 的人员有一个 VMOD,能够以更灵活的方式处理正则表达式。这将允许您在多行上连接正则表达式。