VueJS с перенаправлением nginx не работает и возвращает 200 с пустой страницей - PullRequest
0 голосов
/ 28 октября 2019

Я загрузил VueJS SPA с режимом истории на тестовый сервер, который использует nginx. Обычный подход заключается в том, чтобы записать эти строки в вашем конфигурационном файле nginx:

location / {
    try_files $uri $uri/ /index.html;
}

, однако я попытался, и после того, как я попытался получить доступ к некоторому фиктивному URL, он не перенаправил меня обратно в мой файл index.html какожидается, и вместо этого он показывает пустую страницу с кодом состояния 200. Я хотел бы перенаправить пользователя на index.html.

Просто хочу отметить, что я перезагружаю сервер каждый раз, когда я делаю некоторые изменения.


Вот некоторые из моих файлов: name: "default" (конфигурация nginx), в частности часть с проектом

server {
    listen 80;
    root /var/www/html/ux-assessment/dist;
    index index.html;
    server_name 9a6bc157c174d32178c0e3b92b963394.p4m-dev.com;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

файл router.js:

import Vue from 'vue'
import Router from 'vue-router'
import Home from './views/Home.vue'
import ThankYouModal from './components/ThankYouModal.vue'

Vue.use(Router)

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home,
      children: [
        {
          path: 'thank-you',
          component: ThankYouModal,
          name: 'thankYouModal'
        }
      ]
    },
  ]
})
  • правильный путь к папке dist на FTP
  • vue.config.js пуст

, поэтому, если вы попытаетесь перейти к 9a6bc157c174d32178c0e3b92b963394.p4m-dev.com/foo он должен перенаправить вас на index.html, но не делает и остается на подстранице /foo со статусом кода 200 и пустой страницей. Страница активна, так что вы можете попробовать ее и заглянуть внутрь инспектора => сети.

Я пробовал и другие подходы, но ничего не получалось. Есть идеи? Спасибо!

...