У меня есть сайт, созданный с помощью AngularJS. Я использую $routeProvider для определения множества маршрутов. Все они работают нормально, когда я уже на сайте. Возьмем следующее: rooturl.com#/services/myservicename
Когда веб-сайт уже открыт, скажем, на домашней странице «#/», тогда все работает нормально, он перенаправляется на rooturl.com#/services/myservicename и загружает правильный контент.
Теперь, скажем, я открываю новый браузер, вставляю rooturl.com#/services/myservicename в адресную строку, я попадаю на свой веб-сайт, но меня перенаправляют на контент для «/» вместо rooturl.com#/services/myservicename.
Это в основном то же самое, что и здесь: di">Маршруты AngularJS с параметрами в пути не загружаются в режиме HTML5 при переходе непосредственно к URL-адресам ... за исключением того, что у меня нет этой строки, поэтому я не уверен, относится ли обсуждение документации $locationProvider ко мне?
$locationProvider.html5Mode(true);
Более того, я нахожусь в корпоративной интрасети. Я НЕ смогу получить доступ к серверу. Есть ли что-то на стороне клиента, которое я могу сделать в коде моего углового сайта, чтобы пользователь мог вводить rooturl.com#/services/myservicename в адресной строке и всегда достигать этого маршрута?
Обратите внимание, какой код важнее для ответа, но вот мой .config в определении приложения. Остальной код, который следует за ним, — это контроллеры и сервисы.
app.config(function($routeProvider){
$routeProvider
.when('/',
{
templateUrl: 'app/partials/home_tpl.html',
controller: 'HomeCtrl'
})
.when('/support/:subject',
{
templateUrl: 'app/partials/support-process.html',
controller: 'SupportProcessCtrl'
})
.when('/support/:subject/:topic',
{
templateUrl: 'app/partials/support-process.html',
controller: 'SupportProcessCtrl'
})
.when('/projects',
{
templateUrl: 'app/partials/project_list_tpl.html',
controller: 'ProjectsCtrl'
})
.when ('/site-help',
{
templateUrl: 'app/partials/site-help.html'
})
.otherwise(
{
templateUrl: 'app/partials/404.html'
})
});