@LolaHuligang

Как работает vue-router на обычном хостинге/open server?

Если сделать всё по инструкции (не писать код, только подтянуть зависимости):
npm create vue@latest (+router, +pinia)
npm run build
И выложить на обычный хостинг или на open server содержимое папки dist,
а затем зайти напрямую на /about (на любой адрес отличный от /) либо обновиться,
то это будет 404 от сервера. (если ходишь по ссылкам - всё работает)
Готовые приложения на vue, которые я знаю, ведут себя обычно:
роутинг работает нормально,
то есть при обновлении или прямом заходе на /about, мы туда попадем.
Но здесь даже в create-app от разработчиков, нет такого поведения.
Подскажите, пожалуйста, как и за счет чего оно достигается?
Есть какие-нибудь материалы на эту тему?

P.S. Пишу также, чтобы проверить, может что-то пошло не так и npm run build неправильно сработал,
может у вас не так?
Речь не идет о npm run dev/preview — понятно, что там запускается Node и всё ок.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
За счёт подмены адреса. Например, в Apache это делается через файл .htaccess как-то так:
<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.html [QSA,L]
</IfModule>

Все запросы к отсутствующим файлам и папкам переадресуются на /index.html
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы