/ / З маршрутизатора, як я можу прокласти зовсім інший батьківський маршрут у EmberJS - ember.js, ember-router

З маршрутизатора, як я можу перейти до абсолютно іншого батьківського маршруту в EmberJS - ember.js, ember-маршрутизаторі

Припустимо, у мене є така URL-адреса.

www.mywebsite.com/foo/abc/def

І в моєму маршрутизаторі це може виглядати приблизно так:

this.route("foo",  function() {
this.route("fooo");
this.route("foooo");
this.route("abc", function() {
this.route("def");
this.route("def, {path: "def.html"});
// Some other routes
}
// Some other routes
}
// Some other Routes

Отже, що станеться зараз, якщо я хочу своє foo/abc/def перенаправляти на кудись ЦІЛЬКО інше. Як, наприклад, bar/uvw/xyz. Як я можу переспрямувати туди? Чи є спосіб зробити це з роутера? Я можу записати логіку переходу в межах /foo/abc/def маршрут, але це здається трохи безладним.

Причиною, що мені потрібно це зробити, є те, що я "мперехід одного з веб-сайтів нашої компанії на новий сайт Ember. І ми хочемо змінити маршрути до деяких наших продуктів, але переконайтеся, що люди, які зберегли посилання на ці веб-сторінки, не отримають померлих посилань.

Відповіді:

2 для відповіді № 1

Ви не можете цього зробити через маршрутизатор. Потрібно розмістити свої переадресації всередині коду JavaScript вашого маршруту.

Як @locks припустив, що це може бути хорошим місцем для початку з читання Напрямні перенаправлення.


1 для відповіді № 2

Я знаю, що це завжди не завжди, але ви можете поглянути на те, як веб-сервер це робить (nginx, Apache, S3, що б ви не використовували).

Основна перевага цього в тому, що ваш додаток Emberзовсім не потрібно завантажувати рішення для перенаправлення. Крім того, він зберігає код маршрутизатора Ember чистішим, не переживаючи про представлення структури URL-адреси старого додатка.