hugo/docs/content/templates/404.md
Rick Cogley e522e5f415 Edits to templates/404.md
Added bit about how the 404.html page has to be set to load automatically - auto on Github but needs config on other web servers.

Also tweaked the text a little to emphasize it's a node type, and explain a little more about where the 404 template should be saved.
2015-05-16 00:05:45 +02:00

1.6 KiB

aliases date linktitle menu next notoc prev title weight
/layout/404/
2013-08-21 Custom 404 page
main
parent
layout
/taxonomies/overview true /templates/sitemap 404.html Templates 100

When using Hugo with GitHub Pages, you can provide your own template for a custom 404 error page by creating a 404.html template file in your /layouts folder. When Hugo generates your site, the 404.html file will be placed in the root.

404 pages are of the type "node" and have all the node variables available to use in the templates.

In addition to the standard node variables, the 404 page has access to all site content accessible from .Data.Pages.

▾ layouts/
    404.html

404.html

This is a basic example of a 404.html template:

{{ partial "header.html" . }}
{{ partial "subheader.html" . }}

<section id="main">
  <div>
   <h1 id="title">{{ .Title }}</h1>
  </div>
</section>

{{ partial "footer.html" . }}

Automatic Loading

Your 404.html file can be set to load automatically when a visitor enters a mistaken URL path, dependent upon the web serving environment you are using. For example:

  • Github Pages - it's automatic.
  • Apache - one way is to specify ErrorDocument 404 /404.html in an .htaccess file in the root of your site.
  • Nginx - you might specify error_page 404 = /404.html; in your nginx.conf file.
  • Amazon AWS S3 - when setting a bucket up for static web serving, you can specify the error file.