{ "trailingSlash": true, "redirects": [ { "source": "/posts/(.*)", "destination": "/writing/$1", "permanent": true }, { "source": "/post/(.*)", "destination": "/writing/$1", "permanent": true }, { "source": "/gallery/(.*)", "destination": "/photo/$1", "permanent": true }, { "source": "/friends/", "destination": "/link/", "permanent": true }, { "source": "/links/", "destination": "/link/", "permanent": true }, { "source": "/writing/2018/compile-nginx-tls1.3/", "destination": "/writing/2018/compile-nginx-tls1_3/", "permanent": true } ], "headers": [ { "source": "/(.*).(jpe?g|png|gif|webp|ico|svg|css|js|ttf|otf|woff2?)", "headers": [ { "key": "Cache-Control", "value": "public, max-age=15552000, immutable" } ] }, { "source": "/js/comment.js", "headers": [ { "key": "Cache-Control", "value": "public, max-age=2592000, must-revalidate" } ] } ] }