Я использую $routeProvider и $locationProvider для обработки URL-адресов pushstate в одностраничном приложении (SPA), что-то вроде этого:
angular.module('pets', [])
.config(function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.when('/pet/:petId', {
controller: 'petController'
});
})
.controller('petController', function($scope, petService, $routeParams){
petService.get('/api/pets/' + $routeParams.petId).success(function(data) {
$scope.pet = data;
});
});
URL-адрес используется для вывода контента с сервера, который может или не может существовать.
Если это был обычный многостраничный веб-сайт, запрос на отсутствие содержимого вызовет ответ заголовка 404 с сервера, и запрос на перемещенный контент вызовет 301. Это предупредит Google о пропавшем или перемещенном содержимом.
Скажем, например, я нахожу URL-адрес следующим образом:
http://example.com/pet/123456
и скажите, что в базе данных нет такого питомца, как мой SPA может вернуть 404 на этот контент.
В противном случае существует ли другой способ правильно предупредить пользователя или поисковую систему о том, что запрошенный URL не существует? Есть ли какое-то другое решение, которое я не рассматриваю?