Hugo генерирует множество URL-адресов при создании нашего сайта. Hugo делает это, анализируя наши папки content
и layout
.
Но иногда пользователи заходят на наш сайт и переходят по несуществующему URL. Что же мы показываем, когда это происходит?
Большинство сайтов показывают по умолчанию страницу 404. 404 - это код состояния http который используется, когда веб-сервер не может найти то, что запрашивается. В этом случае веб-сервер не может найти страницу, которую запрашивает браузер.
Шаблон 404
Чтобы отобразить какое-либо сообщение по умолчанию для страниц, которые не найдены, создай файл 404.html
внутри layout
.
Твоя структура папок теперь должна выглядеть так:
my-blog
├── archetypes
| └── default.md
├── content
| └── posts
| └── my-first-post.md
├── data
├── layouts
| ├── _default
| | ├── summary.html
| | ├── single.html
| | ├── list.html
| | └── baseof.html
| ├── 404.html
| └── index.html
├── static
├── themes
└── config.toml
Открой новый файл и вставь следующий фрагмент:
{{ define "main"}}
<main>
<div>
<h1><a href="/">Go Home</a></h1>
</div>
</main>
{{ end }}
В нашем случае мы просто покажем страницу с надписью Go Home
, и если пользователи нажмут на нее, они вернутся на нашу домашнюю страницу.
Проверка
Возможно, ты пытаешься проверить это прямо сейчас, сохранив свои изменения и перейдя по пути, которого нет в твоем браузере, и ты можешь быть сбит(а) с толку, почему не отображается сообщение Go Home
.
Это связано с тем, что сервер разработки Hugo не отображает этот шаблон автоматически. Чтобы проверить, доступен ли он, ты можешь посетить localhost:1313/404.html.
В разделе Оптимизация этого курса мы рассмотрим, как настроить наш веб-сервер для автоматического отображения нашего шаблона 404.