gatsby-plugin-htaccess-redirects
Version:
Gatsby plugin to render redirects into a .htaccess file at public/.htaccess
48 lines (33 loc) • 1.48 kB
Markdown
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).