gpt4 book ai didi

nginx位置匹配扩展名中的正则表达式没有 "resolve"

转载 作者:行者123 更新时间:2023-12-04 10:46:11 25 4
gpt4 key购买 nike

我不是正则表达式的神,并且坚持使用复杂的位置正则表达式。

我的 nginx 配置中有一个位置块,以确保缓存图像和其他媒体。但是如果“resolve”在 URL 中,它不应该匹配并跳过该块。我无法让它工作。我看过一个负面的lookbegind,但我想我并不完全理解它是如何工作的。

这是我的块:
location ~* \.(?:css|js|gif|jpeg|jpg|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
//caching stuff
}

它应该与以下 URL 匹配:

/media/cache/ps_product_admin_thumb/productimages/image.jpg

但是不是 下列:

/media/cache/resolve/ps_product_admin_thumb/productimages/image.jpeg

谁能把我送到正确的方向?

最佳答案

前瞻可能会有所帮助:

^(?!.*resolve).*\.(?:css|js|gif|jpeg|jpg|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$
(?!.*resolve)确保没有 resolve存在于字符串中。

proof & explanation

关于nginx位置匹配扩展名中的正则表达式没有 "resolve",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59694901/

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