Nginx 位置前缀问题

Nginx 位置前缀问题

我注意到错误日志中有一些对 favicon.??? 的请求正在各种目录(不是根目录)中查找文件。我使用“grep”并检查了我的服务器文件和所有元标记等 - 它们都指向 /favicon.ico。

因此我通过以下方式解决了这个问题:

location ~* favicon\.(.*) {
    expires   365d;
    etag      on;
    try_files /favicon.ico =404;
}

我想要做的是使用以下前缀,这样我的其他正则表达式位置就不会被搜索:

location ^~ favicon\.(.*)

但是,这不起作用并且永远不匹配,即使对于 /favicon.??? 请求也是如此。

是否可以使用“^~”前缀并使其在任何目录请求中与“favicon.???”匹配?

答案1

修饰符^~影响前缀位置。 这是不是A正则表达式位置

为了使您的location ~* favicon\.匹配位于其他正则表达式位置之前,只需使其成为server容器中遇到的第一个正则表达式位置。

这个文件了解详情。

相关内容