Ошибка 404 при перезагрузке страницы в режиме истории vue router - PullRequest
0 голосов
/ 18 октября 2019

У меня проект vue cli развернут на ubuntu (сервер apache2) После изменения режима маршрутизатора vue на всех страницах, кроме индекса, при перезагрузке отображается страница 404.

Я добавил .htaccess в / dist путь, где индекс. HTML есть, но он все еще не работает, я понятия не имею, что еще сделать, чтобы решить эту проблему. У кого-нибудь есть идеи?

вот папка dist моего проекта

/home/admin/web/mali-nali.com/public_html/dist

.htaccess код в dist

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

это htacccess.madewithlove.be отладочная информация

RewriteEngine On    RewriteEngine was now turned on
2   RewriteBase /   Using / as the base for the rewrites.
3   RewriteRule ^index\.html$ - [L] This rule was not met.
4   RewriteCond %{REQUEST_FILENAME} !-f This condition was met.
5   RewriteCond %{REQUEST_FILENAME} !-d This condition was met.
6   RewriteRule . /index.html [L]   The new url is https://mali-nali.com/index.html
The tests are stopped because of the L in your RewriteRule options.

последний маршрут для всех несуществующих страниц

{path: '/*',component:FourohFour, name:'404'}

Ответы [ 2 ]

0 голосов
/ 19 октября 2019

В корне вашего проекта Vue добавьте файл с именем vue.config.js с кодом ниже.

module.exports = {
 publicPath: process.env.NODE_ENV === 'production' ? '/mali-nali.com/' : '/'
}

Затем в корне вашего проекта Vue добавьте файл с именем 404.html скод ниже.

<!DOCTYPE html>
 <html>
  <head>
    <script>         
        sessionStorage.redirect = location.href;
    </script>
    <meta http-equiv="refresh" content="0;URL='/mali-nali.com/'">
  </head>
 </html>

Затем скопируйте созданный вами файл 404.html в папку / dist. Я надеюсь, что это поможет вам.

0 голосов
/ 19 октября 2019

С https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations

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

Похоже, это то, что вам не хватает.

...