nginx正则表达式用于位置,特定文件缓存



我需要在nginx反向代理中缓存特定文件,但是在源服务器中,他们(开发人员)制作了许多子文件夹。我需要一些位置的正则表达式指针,以便我可以找到可缓存的文件。

我复制了这个网站的nginx配置。

nginx.conf样本:

location /product/categoryA {
   proxy_pass http://somewhere:8081;
}
location ~* ^/product/categoryA/(.+.(woff2|woff|jpg|jpeg|gif|png|ico|css|bmp|js|html|htm))$ {
    proxy_hide_header X-Powered-By;
    add_header X-Powered-By DCU;
    proxy_cache STATIC;
    proxy_pass http://somewhere:8081;
}

可缓存文件的示例:

domainabc.com/product/categoryA/desktop/css/somecssfile.css
domainabc.com/product/categoryA/desktop/runable/js/somejsfile.js

使用上述位置,将找不到那些.css.js文件。

我需要有关正则表达式的位置的帮助,以便nginx可以找到这些文件,而无需对子文件夹进行硬编码(../desktop/css, ../desktop/runable/js

我仍然需要"/product/categoryX",因为还有其他类别,但具有不同的源服务器。

谢谢。

由于开头^,以下正则表达式^/product/categoryA/(.+.woff2|woff|jpg|jpeg|gif|png|ico|css|bmp|js|html|htm))$只会捕获行或字符串开头以/product开头的内容。如果删除^它应该捕获所需的字符串。

同样不是$意味着它是行或字符串的末尾,并且在它之后没有,所以如果你在.css.js之后有东西,可能不会也抓住它们。

最新更新