Что происходит, так это то, что ваше угловое приложение перехватывает изменения в панели местоположений для своих целей и не позволяет браузеру делать HTTP-запрос на новый URL-адрес, поэтому все хорошо после инициализации приложения.
Когда вы перезагружаете страницу, приложение js не загружается сначала, поэтому браузер отправляет местоположение в новой загрузке страницы на сервер. Но поскольку сервер не знает о маршрутах углового приложения, он пытается ответить своим собственным обработчиком, который в этом случае не существует.
Самый простой способ исправить это сейчас - это, вероятно, изменить конфигурацию ui-router, чтобы включить # в URL-адрес.
angular.module('app', ['ui.router'])
...snip
$locationProvider.html5Mode(false);
});
Это должно начинаться с # перед угловой частью маршрута. Новый путь будет «/ #/sign_in». Браузер будет знать, что нужно отправить «/» до # на сервер, что сделает страницу с угловым init в int, а затем угловым может обрабатывать часть «/ sign_in» после #.