htaccess Redirects in Gatsby
---

If you want to host your Gatsby output with Apache, you can use a `.htaccess`
file to have redirects processed server side. This plugin builds that file for
you.

## Options

The plugin accepts a `prefix` and `suffix` option which get prepended and
appended to the built `.htaccess` file respectively.

Here's an example:

```javascript
{
  resolve: `gatsby-plugin-htaccess-redirects`,
  options: {
    prefix: "<IfModule mod_rewrite.c>\nRewriteEngine On",
    suffix: "</IfModule>",
  },
},
```

NOTE: It's recommended to create an empty `.htaccess` file in `static/`. This
plugin will **append** to an existing `.htaccess` file.

## Advanced Options

By default the plugin will build one line per redirect like this:

```htaccess
RewriteRule ^from-path/?$ /to-path/ [R=301,L]
```

In apache2 this should cause a redirect from either `/from-path` or `/from-path/` to `/to-path/`. This is built from the pattern `RewriteRule ^%1/?$ %2 [R=%3,L]`. This pattern receives the following replacements:

* `%1` -> `fromPath` (with the leading and trailing slashes removed)
* `%2` -> `toPath` (guaranteed to have a leading and trailing slash)
* `%3` -> Either 302 or 301 if `isPermanent` is `false` or `true` respectively

The option is called `pattern` and can be set like `prefix` and `suffix`.

## Notes

It's currently untested (although expected to work) with a `pathPrefix`. Please
let us know in an issue if you test this and it works (or doesn't).
