Ответ 1
В зависимости от вашего маршрутизатора вы можете сделать что-то вроде следующего (это то, что мы сделали (ну, не совсем это, но близко)):
Ui-маршрутизатор
app.config(function ($urlRouterProvider) {
var regx = /\/#\//; // match against /#/
$urlRouterProvider.otherwise(function ($state, $location) {
if (!regx.test($location.path()) { // if no match
$state.go('customHandlingState', /** params **/, /** configuration **/ });
// Transition to your custom handler state, with optional params/config.
}
});
});
Вы можете связать это с пользовательскими обработчиками stateChange[Start|Stop|Error|Success]
в блоке run
вашего приложения, чтобы настроить его по своему вкусу.
Я приведу пример того, как это сделать с ngRoute, но я отказался от ngRoute два года назад и с тех пор не оглядывался назад. Как таковой у меня нет предложения дать, и я не смог найти решение проблемы, которую вы представляете.
Я бы сильно предлагал вам отказаться от части S3 этого рецепта, так как это облегчит вашу жизнь, когда дело доходит до маршрутизации на стороне клиента (исходя из личного опыта здесь, это мое мнение о вопрос - не факт) и обрабатывать ваш 404's
/500's
на клиенте с помощью пользовательских обработчиков состояний.
Если вам нужно, вы можете подключиться к некоторой службе ведения журнала и хранить некоторые данные всякий раз, когда клиент/человек попадает в ошибочное состояние.
Я полагаю, что мой "встречный вопрос"; Что делать вам от использования правил переадресации S3? Чтобы лучше понять потребности и цели здесь.
Некоторые справочные материалы: