Nginx的位置前缀问题

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

所以我通过这样做解决了这个问题:

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

我想要做的是使用下面的前缀,所以我的其他正则expression式位置不search:

 location ^~ favicon\.(.*) 

但是,这并不起作用,从来没有匹配,甚至为/ favicon。 要求。

是否可以使用“^〜”前缀,并仍然匹配“favicon。???” 在任何目录请求?

^~修饰符影响前缀位置的行为。 这不是一个正则expression式的位置

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

详情请参阅此文件 。