当请求是非摘要时,Nginx 如何提供摘要图标文件 favicon.ico
Nginx how to serve digest favicon file when request is for non-digest favicon.ico
我在 rails 应用程序前使用 Nginx。 Nginx 正在使用以下位置规则从 public 提供静态资产:
location ~ ^/assets/ {
gzip_static on;
gzip off;
expires 1y;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
break;
}
这对于标准 Rails 摘要资产来说工作正常,但我时不时地直接收到 /favicon.ico
的请求,这将失败,因为它是非摘要资产。
我想做的是使用 Nginx 位置指令 map/alias/rewrite /favicon.ico
到 /assets/favicons/favicon-somereallylongdigest.ico
.
由于 rails 将保留最后 3 个资产,因此可能有三个匹配的文件,我对此并不担心,并且很乐意匹配找到的任何文件。
我对 Nginx 配置不是很了解,所以不胜感激。
您可以使用永久重定向:
location = /favicon.ico {
return 301 $scheme://$host/assets/favicons/favicon-somereallylongdigest.ico;
}
我在 rails 应用程序前使用 Nginx。 Nginx 正在使用以下位置规则从 public 提供静态资产:
location ~ ^/assets/ {
gzip_static on;
gzip off;
expires 1y;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
break;
}
这对于标准 Rails 摘要资产来说工作正常,但我时不时地直接收到 /favicon.ico
的请求,这将失败,因为它是非摘要资产。
我想做的是使用 Nginx 位置指令 map/alias/rewrite /favicon.ico
到 /assets/favicons/favicon-somereallylongdigest.ico
.
由于 rails 将保留最后 3 个资产,因此可能有三个匹配的文件,我对此并不担心,并且很乐意匹配找到的任何文件。
我对 Nginx 配置不是很了解,所以不胜感激。
您可以使用永久重定向:
location = /favicon.ico {
return 301 $scheme://$host/assets/favicons/favicon-somereallylongdigest.ico;
}