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.

Source Distribution

SimpleHTTP404Server-0.2.0.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

SimpleHTTP404Server-0.2.0-py2.py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page