J'héberge mon projet vuejs sur un serveur Apache.
const router = new VueRouter({
routes: Routes,
// relative: true,
mode: 'history'
});
Cela fonctionne très bien en local, mais vue router se brise sur le serveur . Exemple
Si je lance http://example.com et que je vais sur http://exmaple.com/sub Cela fonctionne très bien
mais si j'actualise la page, il lancera une erreur 404.
Depuis la page de documentation vue.js :
Lorsque vous utilisez le mode historique, l’URL aura l’air "normal", par exemple. http://oursite.com/user/id . Belle!
Voici un problème cependant: comme notre application est une application côté page unique, sans configuration appropriée du serveur, les utilisateurs recevront une erreur 404 s’ils accèdent à http://oursite.com/user/id directement dans leur navigateur. Maintenant c'est moche.
Ne vous inquiétez pas: pour résoudre le problème, il vous suffit d'ajouter une route de repli simple et attrayante à votre serveur. Si l'URL ne correspond à aucun actif statique, il devrait servir la même page index.html dans laquelle votre application vit. Beau, encore!
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
Il semble que ce ne soit pas votre problème, mais son Apache
.htaccess Je suppose, Votre section locale peut avoir ce fichier et votre serveur ne l’a pas.
veuillez vérifier une fois que vous avez également chargé .htaccess sur votre serveur en tant que fichier caché. Vous avez peut-être oublié de le télécharger.
si ce n'est pas là, vous pouvez consulter cette aide de référence: https://router.vuejs.org/fr/essentials/history-mode.html
et ajoutez votre propre fichier .htaccess s'il n'est pas là.