如何在Node.js/Express中将expires头添加到favicon.ico

ezm*_*use 14 favicon node.js express expires-header

在Express中,我将expires头添加到我的静态文件中

app.use(function (req, res, next) {

    // static folder: css
    if (req.url.indexOf('/css/') === 0) {
        res.setHeader('Cache-Control', 'public, max-age=345600'); // 4 days
        res.setHeader('Expires', new Date(Date.now() + 345600000).toUTCString());
    }

});

app.use(express.static(root + '/app'));
Run Code Online (Sandbox Code Playgroud)

我不能做的就是抓住这样的favicon.ico请求.

有没有办法在Node/Express中将过期标题添加到favicon?
是什么让favicon.ico请求与其他静态文件相比如此不同?

谢谢!

use*_*109 11

您可以将maxAge选项传递给favicon和静态中间件:

app.use(express.favicon(__dirname + '/public/favicon.ico', { maxAge: 2592000000 }));
Run Code Online (Sandbox Code Playgroud)

资料来源:

  1. https://groups.google.com/forum/?fromgroups#!topic/express-js/W5mkAorVrW8
  2. http://www.senchalabs.org/connect/favicon.html


Amg*_*ged 6

我认为使用它更具有SEO友好性

app.use(express.static(__dirname + '/public', {
        maxAge: 86400000,
        setHeaders: function(res, path) {
            res.setHeader("Expires", new Date(Date.now() + 2592000000*30).toUTCString());
          }
    }))
Run Code Online (Sandbox Code Playgroud)