我注意到错误日志中有一些对 favicon.??? 的请求正在各种目录(不是根目录)中查找文件。我使用“grep”并检查了我的服务器文件和所有元标记等 - 它们都指向 /favicon.ico。
因此我通过以下方式解决了这个问题:
location ~* favicon\.(.*) {
expires 365d;
etag on;
try_files /favicon.ico =404;
}
我想要做的是使用以下前缀,这样我的其他正则表达式位置就不会被搜索:
location ^~ favicon\.(.*)
但是,这不起作用并且永远不匹配,即使对于 /favicon.??? 请求也是如此。
是否可以使用“^~”前缀并使其在任何目录请求中与“favicon.???”匹配?
答案1
修饰符^~
影响前缀位置。 这是不是A正则表达式位置。
为了使您的location ~* favicon\.
匹配位于其他正则表达式位置之前,只需使其成为server
容器中遇到的第一个正则表达式位置。
看这个文件了解详情。