Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Custom Error Pages

Reusable static error pages for web servers.

Included Pages

Quick Start

  1. Easy way (clone directly on the server):
cd /tmp
git clone https://github.com/ithubdeveloper/error-pages.git
sudo mkdir -p /var/www/error-pages
sudo cp /tmp/error-pages/*.html /var/www/error-pages/
sudo chown -R root:root /var/www/error-pages
sudo chmod 644 /var/www/error-pages/*.html
  1. Or copy files manually to your server:
sudo mkdir -p /var/www/error-pages
sudo cp *.html /var/www/error-pages/
sudo chown -R root:root /var/www/error-pages
sudo chmod 644 /var/www/error-pages/*.html
  1. Configure your web server using the examples below.

  2. Reload server config and test with curl.

Nginx Example

Create a snippet file:

# /etc/nginx/snippets/error-pages.conf
error_page 403 /error-pages/403.html;
error_page 404 /error-pages/404.html;
error_page 429 /error-pages/429.html;
error_page 500 /error-pages/500.html;
error_page 502 /error-pages/502.html;
error_page 503 /error-pages/503.html;
error_page 504 /error-pages/504.html;

location /error-pages/ {
    alias /var/www/error-pages/;
    internal;
}

Then include it inside your server block:

server {
    listen 80;
    server_name example.com;

    root /var/www/html;

    include /etc/nginx/snippets/error-pages.conf;

    # Optional maintenance toggle
    # if (-f /var/www/error-pages/maintenance.flag) {
    #     return 503;
    # }
    # error_page 503 /error-pages/maintenance.html;
}

Reload Nginx:

sudo nginx -t
sudo systemctl reload nginx

Apache Example

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html

    Alias /error-pages/ "/var/www/error-pages/"
    <Directory "/var/www/error-pages">
        Options -Indexes
        AllowOverride None
        Require all granted
    </Directory>

    ErrorDocument 403 /error-pages/403.html
    ErrorDocument 404 /error-pages/404.html
    ErrorDocument 429 /error-pages/429.html
    ErrorDocument 500 /error-pages/500.html
    ErrorDocument 502 /error-pages/502.html
    ErrorDocument 503 /error-pages/503.html
    ErrorDocument 504 /error-pages/504.html

    # Optional maintenance page
    # ErrorDocument 503 /error-pages/maintenance.html
</VirtualHost>

Reload Apache:

sudo apachectl configtest
sudo systemctl reload apache2

Validation

curl -I http://example.com/non-existing-page
curl -s http://example.com/non-existing-page | head

Notes

  • instructions.html contains a full setup guide in page format.
  • On Nginx, keep /error-pages/ internal to avoid direct public browsing.
  • On Apache, keep directory listing disabled with Options -Indexes.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages