vue.js проблема с маршрутом на моем сервере — не работает

#vue.js

Вопрос:

У меня есть маршруты, такие как этот:

 /about
/experience
 

Когда я нажимаю localhost/о программе , localhost/испытывает ее работу.

Но когда я загружаю файлы на свой сервер, например test.com, если я попытаюсь пойти test.com/experience это не работает. это дает ошибку 404. введите описание изображения здесь

Но если я перейду на страницы с домашней страницы, она будет работать. В чем проблема?

Ответ №1:

Ваш сервер не настроен для перезаписи отсутствующих файлов (ошибки HTTP 404) на ваш /index.html , если вы используете nginX, это может быть достигнуто следующим образом:

 ....
    location / {
      try_files $uri @rewrite;
    }

    location @rewrite {
      rewrite ^(.*)$ /index.html last;        
    }
 

Если вы не можете контролировать конфигурацию своего веб — сервера-вам нужно будет переключиться из history hash режима в режим в настройках Vue-маршрутизатора.

Ответ №2:

Я решил с помощью htaccess

     <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
    </IfModule>