If you are hosting your Jekyll site on GitHub like myself, there are some sacrifcies that have to be made. Unfortunately GitHub Pages does not support .htaccess
. This leaves you with very few options for redirects. I came across this awesome plugin Jekyll Redirect From which allows you to setup redirections quite easily.
Setup
Download the plugin into your project. The quickest method would just be to install it via command-line.
gem install jekyll-redirect-from
Next add the following line to your _config.yml
:
gems:
- jekyll-redirect-from
Lastly, add the old url to the front matter of the existing destination page.
redirect_from: "/foo"
Example
Let’s say we want an old post /redirect-jibjab
from our old site to redirect to this post, I would need to add this to the YAML front matter of this post.
---
layout: post
title: Setting Up Redirects With Jekyll
redirect_from: "/redirect-jibjab"
---
Issues
In some cases with this plugin there is a quick flash of the redirected page that was generated with some basic unstyled html. It looks pretty ugly but there is talk of improving this with custom html options for these pages. See Issue #55