DuckDuckGo 搜索建议

Okay, I’m writing this down, because 404 handling in Discourse is weird. Try this link on for size:

https://meta.discourse.org/nonexistant-page

If you open it in a new tab, you’ll notice that your user menu (the one in the upper-right of the page) doesn’t render. In fact, the Discourse Ember app doesn’t get loaded at all in this case. It’s being rendered by the Rails server following app/views/exceptions/not_found.html.erb

Obviously, if you click the link directly in this page, the Ember app remains resident. Try hitting the link with a .json at the end, and instead of sending the app a full 404 page, it sends an HTML fragment, with the heading and stuff removed, which the Ember app just plops into place.

2 个赞