У меня есть sammy.js, работающий в приложении knockout.js. В настоящее время я пытаюсь перенаправить маршруты, в которых отсутствует конечная косая черта (например, /#/stop/1/100032
) Я бы хотел перенаправить все такие страницы, у которых отсутствует конечная косая черта, на страницу с завершающей косой чертой.Как перенаправить с страниц без привязки косых черт на страницы с завершающими косыми чертами
Чтобы усложнить ситуацию, я также хотел бы иметь страницу с ошибкой в случае, если такого маршрута нет.
function RoutesViewModel() {
var self = this;
self.router = Sammy(function() {
this.get('/#/stop/:agency_id/:stop_id/', function() {
app.page.state('bus');
app.stop.setCurrentById(this.params['agency_id'], this.params['stop_id']);
mixpanel.track('stop page load', {
'route': '/#/stop/' + this.params['agency_id'] + '/' + this.params['stop_id'] + '/',
});
});
this.get('/(.*[^\/])', function() {
this.redirect('/',this.params['splat'],'/');
});
});
self.router.error = function (message, error) {
app.page.header("Unable to find your page");
app.page.message("The page you've requested could not be found.<br /><a href=\"/\">Click here</a> to return to the main page.");
}
self.run = function() {
self.router.run();
}
}
Выше приведен список маршрутов, которые у меня есть до сих пор. К сожалению, когда я перехожу к примеру url выше, страница загружает ошибку, вместо правильного /#/stop/1/100032/
.
Любая помощь была бы принята с благодарностью.
Вы когда-нибудь находили решение? – Chad