Skip to main content

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

Usecases

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:

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

Future

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


Download files

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

Files for SimpleHTTP404Server, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size SimpleHTTP404Server-0.2.0-py2.py3-none-any.whl (5.2 kB) File type Wheel Python version 2.7 Upload date Hashes View hashes
Filename, size SimpleHTTP404Server-0.2.0.tar.gz (3.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

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