HomePhabricator

Allow custom Sites to have custom 404 controllers

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

Provenance
epriestleyAuthored on Nov 30 2016, 11:05 PM
epriestleyPushed on Nov 30 2016, 11:25 PM
Reviewer
chad
Differential Revision
D16966: Allow custom Sites to have custom 404 controllers
Parents
rP29a3cd5121d9: Add "Manual Activities", to tell administrators to rebuild the search index
Branches
Unknown
Tags
Unknown
Build Status
Buildable 14717
Build 19230: Run Core Tests