Skip to content

Gatsby plugin to render redirects into a .htaccess file at public/.htaccess

License

Notifications You must be signed in to change notification settings

GatsbyCentral/gatsby-plugin-htaccess-redirects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

{
  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:

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).

About

Gatsby plugin to render redirects into a .htaccess file at public/.htaccess

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •