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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file SimpleHTTP404Server-0.2.0.tar.gz.

File metadata

File hashes

Hashes for SimpleHTTP404Server-0.2.0.tar.gz
Algorithm Hash digest
SHA256 bda0a2b28d327d49ee7566613c30a1946e4cdf73a39799258e9e22e53cd5567c
MD5 488ec9d0b14f36f83e74ca2f93b9b048
BLAKE2b-256 40c93ff03c9112da485642e9da9717ba5d0be57bd4e7372b09f12482ec5eb92b

See more details on using hashes here.

File details

Details for the file SimpleHTTP404Server-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for SimpleHTTP404Server-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7c95346bb136e82caa3267606c94125cdd8a4dfb60e6aed0f1aaf8c9138b9304
MD5 bc799bb8b2caba6e1237f57907f41af1
BLAKE2b-256 d4d6a6fce73358fb96019d07953cb339fc4f0cac028b50aef2cb8bf9bbdfc274

See more details on using hashes here.

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