Homec4science

Allow custom Sites to have custom 404 controllers

Authored by epriestley <git@epriestley.com> on Dec 1 2016, 00:05.

Description

Allow custom Sites to have custom 404 controllers

Summary:
Currently, custom Sites must match .* or similar to handle 404's, since the fallback is always generic.

This locks them out of the "redirect to canonicalize to path/ code", so they currently have a choice between a custom 404 page or automatic correction of /.

Instead, allow the 404 controller to be constructed explicitly. Sites can now customize 404 by implementing this method and not matching everything.

(Sites can still match everything with a catchall rule if they don't want this behavior for some reason, so this should be strictly more powerful than the old behavior.)

See next diff for CORGI.

Test Plan:

  • Visited real 404 (like "/asdfafewfq"), missing-slash-404 (like "/maniphest") and real page (like "/maniphest/") URIs on blog, main, and CORGI sites.
  • Got 404 behavior, redirects, and real pages, respectively.

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D16966

Details

Committed
epriestley <git@epriestley.com>Dec 1 2016, 00:25
Pushed
aubortJan 31 2017, 17:16
Parents
rPH29a3cd5121d9: Add "Manual Activities", to tell administrators to rebuild the search index
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH9730f5a34fd7: Allow custom Sites to have custom 404 controllers (authored by epriestley <git@epriestley.com>).Dec 1 2016, 00:25