1de7a358c Clarify that "with" blocks do not render with empty values (#1287) b48de8b0a Update js.md e0124e4b1 Update js.md 087b39d74 Update hosting-on-render.md (#1286) 8f02b5412 Update js.md (#1284) 8dd8a8d1d Add link to "Build Websites with Hugo" book (#1174) ae2dc138a Fix typo in page bundles (#1283) ab14bfec3 Update configuration directory section 17da77ff1 Update multilingual.md (#1280) 5bce8db3a Fix for site-hierarchy image, issue #60 9d7a2366d Fix typo ad4210c41 Fix typo c88bc0383 Fix orphan branch url (#1262) 1cf6cf5b3 Hugo 0.78.2 538c3cb86 Merge branch 'tempv0.78.2' e5e07fc81 releaser: Add release notes to /docs for release of 0.78.2 120a61a47 Fixed wrong var assignment example 4cebbb1a7 Ignore remote JSON errors (for now) 618fcf9ba Add a link to modules config option 'replacements' e12722779 Fix typo ("wil" -> "will") (#1273) 0670e9894 Update js.md 5bde834cf Update GH docs to say "main" as default branch 26312f93d Update index.md eb6f51df1 Update js.md b890dc84d Merge branch 'tempv0.78.1' 6b73ea450 releaser: Add release notes to /docs for release of 0.78.1 46e582112 Update starter-kits.md (#1268) a62786235 Update 404 docs: GitLab auto-detects 404.html (#1173) cbd4fd2d9 Fix typo (#1271) 2ba3f9386 Update js.md 7b5109d90 Update js.md bc75bc962 Release 0.78.0 0b2e8b0f1 releaser: Add release notes to /docs for release of 0.78.0 9ecba8480 Merge commit 'b74591123eac47a20d1f26ff3e2d291cd9c5cfc0' 60a475df7 js: Add avoidTDZ option 3b895261f Make js.Build fully support modules git-subtree-dir: docs git-subtree-split: 1de7a358cac94ac09a513456bdaae65e6ae94859
2.8 KiB
title | linktitle | description | date | publishdate | lastmod | categories | keywords | menu | weight | draft | aliases | toc | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Custom 404 Page | 404 Page | If you know how to create a single page template, you have unlimited options for creating a custom 404. | 2017-02-01 | 2017-02-01 | 2017-03-31 |
|
|
|
120 | false | false |
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 will have all the regular page variables available to use in the templates.
In addition to the standard page variables, the 404 page has access to all site content accessible from .Pages
.
▾ layouts/
404.html
404.html
This is a basic example of a 404.html template:
{{< code file="layouts/404.html" download="404.html" >}} {{ define "main"}}
<a href="{{ "/" | relURL }}">Go Home
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 and GitLab Pages. The 404 page is automatic.
- Apache. You can 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 yournginx.conf
file. - Amazon AWS S3. When setting a bucket up for static web serving, you can specify the error file from within the S3 GUI.
- Amazon CloudFont. You can specify the page in the Error Pages section in the CloudFont Console. Details here
- Caddy Server. Using
errors { 404 /404.html }
. Details here - Netlify. Add
/* /404.html 404
tocontent/_redirects
. Details Here - Azure Static website. You can specify the
Error document path
in the Static website configuration page of the Azure portal. More details are available in the Static website documentation.
{{% note %}}
hugo server
will not automatically load your custom 404.html
file, but you
can test the appearance of your custom "not found" page by navigating your
browser to /404.html
.
{{% /note %}}