{
  "trailingSlash": true,
  "redirects": [
    {
      "source": "/posts/(.*)",
      "destination": "/writing/$1",
      "permanent": true
    },
    {
      "source": "/post/(.*)",
      "destination": "/writing/$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"
        }
      ]
    }
  ]
}