Hexo で存在しないページにアクセスすると、Cannot GET /dummy/ 書かれた簡易ページが表示されるが、Netlify でちゃんとした 404 ページを表示する方法を調べてみた。
404ページを生成する
ブログ記事ではなく、固定ページとして 404 ページを作成する。
1 | $ hexo new page 404 |
中身は、こんな感じ。
1 |
|
404ページを登録する
Netlify の場合
Netlify では、404エラーが発生するとルートディレクトリー内の 404.html ファイルが表示される。
ドキュメントルートにリダイレクトのルールを記述した _redirects ファイルを設置すると、アクセスをリダイレクトする。
そこで、source ディレクトリーに _redirects ファイルを作成し、以下を記述する。
1 | # 404 Redirects |
このままだと、 hexo generate コマンドを実行しても _redirect ファイルが public ディレクトリーに移動しないので、_config.yml 内の以下の設定を変更する。
1 | include: |
これで、hexo generate コマンド実行時に、source ディレクトリー内の _redirects ファイルが public ディレクトリーに移動される。