404ページを表示しよう
⛔
NKSSG の default テーマでは、404ページを自動的に作成しますが、そのままでは使えません。ここでは追加で設定する内容を説明していきます。
404ページ
サイト内で、存在しないページへアクセスがあった場合、404ページがあると親切です。NKSSG の default テーマでは、404ページを自動で作るようになっています。/themes/default/404.html
にひな型があり、nkssg build
を実行すれば、public フォルダの直下にファイルが作成されます。
ただ、この404ページは、そのままサーバーに上げるだけでは表示されません。サーバーに対して設定が必要となります。
htaccess
存在しないページへアクセスがあったときに、用意してある 404.html を表示するには、サーバー側の設定が必要です。使用している Webサーバーによって設定方法は異なりますが、ここでは、Apache を使っている場合を紹介します。
Apache の場合は、トップフォルダに .htaccess
ファイルを入れておきます。中身は、次のように、1行だけです。
ErrorDocument 404 /404.html
後半の /404.html
は、表示したいファイルへのルート相対パスです。もし site_url
がサブフォルダの場合は、サブフォルダつきで設定する必要があります。
このファイルは、nkssg build
したときに public フォルダの直下に入っていてほしいので、static フォルダの直下に保存しておくといいです。こうしておくと、build
するたびに、.htaccess
は public フォルダの直下にコピーされます。
メモ
作成した .htaccess
を public フォルダの直下に直接置くのはやめましょう。nkssg build -c
を実行したときに、一緒に削除されてしまいます。
Nginxサーバーの場合
Nginxサーバーの場合は、.htaccess
は使えません。404.html を使うには、Nginxサーバーの設定ファイルを修正する必要があります。
設定ファイルは、nginx.conf
といった名前です(システムによって異なります)。このファイルに、次のように追加します。
server {
error_page 404 /404.html;
location = /404.html {
internal;
}
}
こうすると、存在しないページにアクセスがあったときに、404.html が表示されるようになります。設定ファイル内に server
の項目がすでにある場合は、server
の中身を追加しましょう。