Page MenuHomePhabricator

Allow custom Sites to have custom 404 controllers
ClosedPublic

Authored by epriestley on Nov 30 2016, 11:20 PM.
Tags
None
Referenced Files
F13080749: D16966.id40829.diff
Wed, Apr 24, 10:38 AM
Unknown Object (File)
Mon, Apr 15, 10:54 PM
Unknown Object (File)
Tue, Apr 2, 9:45 AM
Unknown Object (File)
Tue, Apr 2, 9:45 AM
Unknown Object (File)
Tue, Apr 2, 9:45 AM
Unknown Object (File)
Mon, Apr 1, 7:36 PM
Unknown Object (File)
Thu, Mar 28, 4:23 AM
Unknown Object (File)
Tue, Mar 26, 12:30 AM
Subscribers
None

Details

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.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Allow custom Sites to have custom 404 controllers.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Nov 30 2016, 11:22 PM
This revision was automatically updated to reflect the committed changes.