Wie entferne ich Hashbang #!
von der URL?
Ich habe die Option zum Deaktivieren von Hashbang in der Dokumentation zum Vue-Router ( http://vuejs.github.io/vue-router/en/options.html ) gefunden, aber diese Option wird entfernt #!
und einfach eingefügt#
Gibt es eine Möglichkeit, eine saubere URL zu haben?
Beispiel:
NICHT: #!/home
ABER: /home
vue.js
vue-router
DokiCRO
quelle
quelle
const router = new VueRouter({ history: true })
{history: true}
Werke für die erste Seite hinzugefügt , aber der Rest der Routen ist fehlgeschlagen.Verwenden Sie für vue.js 2 Folgendes:
quelle
Hash ist eine Standardeinstellung für den Vue-Router-Modus. Sie wird festgelegt, da die Anwendung bei Hash keinen Server verbinden muss, um die URL bereitzustellen. Um dies zu ändern, sollten Sie Ihren Server konfigurieren und den Modus auf den HTML5-Verlaufs-API-Modus einstellen.
Bei der Serverkonfiguration ist dies der Link, über den Sie Apache-, Nginx- und Node.js-Server einrichten können:
https://router.vuejs.org/guide/essentials/history-mode.html
Dann sollten Sie sicherstellen, dass der Vue-Router-Modus wie folgt eingestellt ist:
vue-router version 2.x.
Dies sind alle Vue-Router-Modi, die Sie auswählen können: "Hash" | "Geschichte" | "abstrakt".
quelle
Für Vuejs 2.5 und Vue-Router 3.0 hat oben nichts für mich funktioniert, aber nach einigem Herumspielen scheint Folgendes zu funktionieren:
Beachten Sie, dass Sie auch den Sammelpfad hinzufügen müssen.
quelle
und Server ist richtig konfiguriert In Apache sollten Sie die URL neu schreiben
quelle
Zitieren der Dokumente.
quelle
Die
vue-router
Verwendunghash-mode
, in einfachen Worten, ist etwas, das Sie normalerweise von einem solchen Anker-Tag erwarten würden.Damit der Hash verschwindet
Warning
: Wenn Sie keinen ordnungsgemäß konfigurierten Server haben oder einen clientseitigen SPA-Benutzer verwenden, erhalten404 Error
Sie möglicherweise einen, wenn er versucht,https://website.com/posts/3
direkt über seinen Browser darauf zuzugreifen . Vue Router Docsquelle
Der Standardmodus für den Vue-Router ist der Hash-Modus. Er verwendet den URL-Hash, um eine vollständige URL zu simulieren, damit die Seite nicht neu geladen wird, wenn sich die URL ändert. Um den Hash loszuwerden, können wir den Verlaufsmodus des Routers verwenden, der die
history.pushState
API nutzt , um eine URL-Navigation ohne erneutes Laden der Seite zu erreichen:Referenz
quelle
Wenn Sie AWS Amplify verwenden , lesen Sie diesen Artikel zum Konfigurieren des Servers: Verlaufsmodus des Vue-Routers und AWS Amplify
quelle