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


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

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.

Reviewers: chad

Reviewed By: chad

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


epriestleyAuthored on Oct 20 2016, 6:14 PM
epriestleyPushed on Oct 20 2016, 6:28 PM
Differential Revision
D16737: Support ".ico" in Celerity and simplify rewite rule configuration
rPa3253f78ce14: Make query engines "overheat" instead of stalling when filtering too many…
Build Status
Buildable 14196
Build 18449: Run Core Tests