正则表达式以 /admin 为中间且整个字符串以特定格式结尾

正则表达式以 /admin 为中间且整个字符串以特定格式结尾

我正在尝试编写一个正则表达式,例如中间有 /admin 并以 .css 或 .js 或其他格式结尾。

http://example.com/admin/static/style.css(应该管用)

http://example.com/admin/static/vendor.js(应该管用)

http://example.com/static/style.css(不应该起作用)

我正在尝试在 nginx 位置块中使用它。我试过这个

location /admin/\.(css|js)${

}

但不工作。

有任何想法吗?

答案1

您可能遗漏了“admin”和“css/js”之间的部分。这可能会起作用:

(.*)\/admin(.*)\.(css|js)

我还在(.*)开头添加了,这意味着前面/admin可能会有其他字符。

答案2

请尝试进行不区分大小写的匹配 ( ~*):

location ~* ^/admin/.+\.(css|js)$ {
    # more configuration
}

添加其他文件类型,以|like分隔^/admin/.+\.(css|js|png|gif|jpe?g)$

相关内容