Cobwwweb logo

Add Netlify Redirects and Headers to an Eleventy Project

Sep 24, 2020 Eleventy, Netlify

On the surface, this seems like such a simple task: Create a _redirects or _headers file and drop them into the build directory.

The difficulty is that Eleventy is configured to not copy over any files that begin with an underscore.

Instead, we can use the concept of a static directory. Eleventy can be configured to copy all files within a directory into the build directory using the custom output directory flavor of the manual passthrough file copy option.

The configuration looks like this:

.eleventy.js

module.exports = function (eleventyConfig) {
  eleventyConfig.addPassthroughCopy({ static: "/" })
}

That tells us every file in the static directory (including files with a preceding underscore) will be copied into the root of the build directory.

After adding that option, you can place your _redirects or _headers file into a static directory (e.g. static/_redirects) and it will be copied to your build directory (e.g. _site/_redirects).

Did you learn something or find this article interesting?

If so, why not

Want to receive exactly one email every month with new articles, tools, and references I've discovered? Sign up below. (More info here.)