Если страница не найдена, то Ember js выдает сообщение в консоль:
UnrecognizedURLError
и при этом показывается пустая страница, как будто сайт не работает.
Я погуглил в интернете на эту тему и нашел решение в статье -
Т.е. все что не подходит под имеющиеся роуты будет отправлено на not-found.
В route not-found надо прописать:
export default Ember.Route.extend({
redirect: function () {
var url = this.router.location.formatURL('/not-found');
if (window.location.pathname !== url) {
this.transitionTo('/not-found');
}
}
});
В template not-found надо прописать:
<h1>404 Страница не найдена</h1>
<p>
Возможно, ссылка была переделана. Обратитесь к администратору сайта.
</p>
UnrecognizedURLError
и при этом показывается пустая страница, как будто сайт не работает.
Я погуглил в интернете на эту тему и нашел решение в статье -
Все достаточно просто создаем роут not-found
$ ember g route not-found --path=/*path
В router должна появится строка
Router.map(function() {
...
this.route('not-found', { path: '/*path' })
});
Т.е. все что не подходит под имеющиеся роуты будет отправлено на not-found.
В route not-found надо прописать:
export default Ember.Route.extend({
redirect: function () {
var url = this.router.location.formatURL('/not-found');
if (window.location.pathname !== url) {
this.transitionTo('/not-found');
}
}
});
В template not-found надо прописать:
<h1>404 Страница не найдена</h1>
<p>
Возможно, ссылка была переделана. Обратитесь к администратору сайта.
</p>
Комментариев нет:
Отправить комментарий