Режим истории Vue-роутера в сочетании с перехватом laravel для перенаправления заголовка 404 дает код состояния заголовка 200 - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть проект Vue на бэкэнде Laravel, для которого SEO важен.С моей текущей настройкой я перенаправляю все входящие запросы в мое приложение Vue.В моем приложении Vue я управляю маршрутизацией с помощью Vue Router.

В моей настройке нераспознанные страницы направлены на компонент, который мне нравится (компонент 404), но браузер получает код состояния 200.Мой вопрос по этому поводу:

Что я могу сделать, чтобы дать браузерам правильный код статуса 404?


АННОТАЦИЯ МОЕГО КОДА:

Перенаправление всего в мое приложение Vue из Laravel (файл web.php):

Route::get( '/{catchall?}', function () {
    return view('app');
})->where('catchall', '.*');

В моих маршрутах Vue я перехватываю все нераспознанные пути, чтобы показать мой "404-компонент":

export const NOT_FOUND = {
  path: '/*',
  name: 'not found',
  component: NotFoundComponent,
};

Для полноты настройки маршрутизатора в приложении Vue:

export const router = new VueRouter({
  routes: routes,
  mode: 'history',
  base: '/',
  fallback: true,
  scrollBehavior (to, from, savedPosition) {
    return { x: 0, y: 0 }
  }
});

1 Ответ

0 голосов
/ 15 февраля 2019

Не могу быть уверен на 100%, но держу пари, что Google знает, что это 404 до перенаправления на дом.

Загрузите Screaming Frog (бесплатный инструмент для сканирования в Интернете) и просканируйте указанную страницу, если до этого был статус 404ваше правило перенаправления имеет место, вы увидите его там.

...