Page MenuHomePhabricator

Support ".ico" in Celerity and simplify rewite rule configuration

Authored by epriestley on Oct 20 2016, 6:25 PM.



See D16734.

  • Add ".ico" files to the Celerity map.
  • Add a formal route for "/favicon.ico".
  • Remove instructions to configure /rsrc/ and /favicon.ico rewrite rules.

Long ago, we served resources directly via /rsrc/ in at least some cases. As we added more features, this stopped working more and more often (for example, Apache can never serve CSS this way, because it doesn't know how to post-process {$variables}).

In modern code (until this change), only /favicon.ico is still expected to be served this way.

Instead, serve it with an explicit route via controller (this allows different Sites to have different favicons, for example).

Remove the instructions suggesting the old rewrite rules be configured. It's OK if they're still in place -- they won't break anything, so we don't need to rush to get users to delete them.

We should keep "webroot/favicon.ico" in place for now, since it needs to be there for users with the old rewrite rule.

Test Plan
  • Ran celerity map.
  • Loaded /favicon.ico, got resource via route.
  • Used celerity_generate_resource_uri() to get paths to other icons, loaded them, got icons.

Diff Detail

rP Phabricator
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley updated this revision to Diff 40303.Oct 20 2016, 6:25 PM
epriestley retitled this revision from to Support ".ico" in Celerity and simplify rewite rule configuration.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad accepted this revision.Oct 20 2016, 6:27 PM
chad edited edge metadata.
This revision is now accepted and ready to land.Oct 20 2016, 6:27 PM
This revision was automatically updated to reflect the committed changes.