Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

A Python SimpleHTTPServer, but serves 404.html if a page is not found.

Project description

SimpleHTTP404Server: Easy testing of 404.html

SimpleHTTP404Server allows easy testing of static HTML providers that allow 404 response customization via a 404.html page. This includes at least GitHub and FastMail. It is a simple extension to SimpleHTTPServer, a built-in Python module which servers the current directory over HTTP.

If you server a static site using GitHub Pages or another static website provider, this module can help you test your 404 page before pushing changes to a live website.

First install the package using pip:

pip install SimpleHTTP404Server

Browse to the directory, and run the following to server it on port 8000.

python -m SimpleHTTP404Server

Or, if you’d like to specify a different port:

python -m SimpleHTTP404Server 1234

And that’s it! Now browse to a page that exists, maybe http://localhost:8000/index.html. And check that your 404.html page is properly loaded by checking a few different paths: * http://localhost:8000/404.html * http://localhost:8000/does-not-exist.html * http://localhost:8000/does/not/exist.html


Personally this is used to test any GitHub Pages sites I use, in particular my blog, which is build on Pelican. This is done via Fabric:

def serve():
    """Locally serve the blog."""
    local('cd {deploy_path} && python -m SimpleHTTP404Server {listen_port}'.format(**env))


Please let me know (by filing issues or pull requests) if you find any bugs or if you feel there are features missing.

v0.2.0: May 13, 2015

  • Switch back to a simple way of getting the 404.html page. The complicated way seems to imply it fixed server 404 pages from non-root directories…but it doesn’t, ensure your paths are absolute.

v0.1.2: May 13, 2015

  • Package readme, changelog.

v0.1.1: May 13, 2015

  • Supports packaged version uploaded to pypi.

v0.1.0: Feb. 24, 2015

  • Initial version, supports loading 404.html page from any subdirectory.

Project details

Release history Release notifications

This version
History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
SimpleHTTP404Server-0.2.0-py2.py3-none-any.whl (5.2 kB) Copy SHA256 hash SHA256 Wheel 2.7 May 14, 2015
SimpleHTTP404Server-0.2.0.tar.gz (3.8 kB) Copy SHA256 hash SHA256 Source None May 14, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page