如何在Node.js / Express中添加过期标题到favicon.ico
在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'));
我不能做的是抓住像这样的favicon.ico请求。
有没有办法在Node / Express中添加expires头文件到favicon?
与其他静态文件相比,favicon.ico请求有什么不同?
谢谢!
您可以将一个maxAge
选项传递给favicon和静态中间件:
app.use(express.favicon(__dirname + '/public/favicon.ico', { maxAge: 2592000000 }));
来源:
我认为使用它是更友好的search引擎优化
app.use(express.static(__dirname + '/public', { maxAge: 86400000, setHeaders: function(res, path) { res.setHeader("Expires", new Date(Date.now() + 2592000000*30).toUTCString()); } }))
这里的答案是正确的,但有点过时,不再支持这个中间件,所以简单的修复就是使用这个包。
https://github.com/expressjs/serve-favicon
var connect = require('connect') var favicon = require('serve-favicon') var path = require('path') var app = connect() app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))) // Add your middleware here, etc. app.listen(3000)
代码是正确的从上面的链接…