#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>