カスタム404ページ
壊れたリンクへアクセスしたときに表示されるデフォルトのError 404 – File Not Foundページを、Jekyllで簡単にカスタム404エラーページに置き換えることができます。
GitHub Pagesの場合
_site
ディレクトリのrootに404.html
がGitHub PagesとローカルWEBrick開発サーバーにより自動で提供されます。
簡単には、404.md
か404.html
をサイトのソースディレクトリのrootに追加し、テーマの基本レイアウトを使用するようfront matterを記載します。
エラーページ用のファイルを細部ディレクトリに入れる場合は、以下のようにfront matterにpermalink: /404.html
を記載します。これで、コンパイル後の404.html
はサイトのrootディレクトリに存在することになり、サーバーに認識されます。
---
# example 404.md
layout: default
permalink: /404.html
---
# 404
Page not found! :(
Apache Webサーバーによるホスティングの場合
Apache Webサーバーはその機能に変化を加えるために、.htaccess
という設定ファイルを読み込みます。
簡単には、以下の内容を.htaccess
に追加します。
ErrorDocument 404 /404.html
.htaccess
ファイルでは、サブディレクトリのエラーページも自由に指定できます。
ErrorDocument 404 /error_pages/404.html
パスは、サイトのドメインからの相対パスです。
Apache Errorページの設定に関する更なる情報は、official documentationをご覧ください。
Nginxサーバーによるホスティングの場合
Apacheサーバーの場合と同様に簡単ですが、少し異なります。
Nginxの設定ファイルは、インストールされているシステムに依存します。多くの場合は、/etc/nginx/
か/etc/nginx/conf/
にあるnginx.conf
です。しかし、Ubuntuの様な他のサーバーでは、サーバー関連の情報を含むdefault
というNginx設定ファイルを探す必要があります。通常は/etc/nginx/sites-available/
か/etc/nginx/sites-enabled/
にあります。以下をNginx設定ファイル(nginx.conf
ファイルやdefault
ファイル)に追加します。
server {
error_page 404 /404.html;
location = /404.html {
internal;
}
}
もし、server
ブロックが既にあれば、上記のserver
ブロックに中身だけを追加してください。location
はユーザーが直接404.htmlページを見ることを防ぎます。
Nginxエラーページに関する更なる情報は、nginx official documentationをご覧ください。
設定ファイルの編集は注意して進めてください。