如何從網址中移除hashbang #!
?如何從網址中刪除hashbang?
我發現選項VUE路由器文檔(http://vuejs.github.io/vue-router/en/options.html)中禁用hashbang但此選項將刪除#!
,只是把#
有什麼辦法有乾淨的網址是什麼?
例子:
NOT:#!/home
但是:/home
如何從網址中移除hashbang #!
?如何從網址中刪除hashbang?
我發現選項VUE路由器文檔(http://vuejs.github.io/vue-router/en/options.html)中禁用hashbang但此選項將刪除#!
,只是把#
有什麼辦法有乾淨的網址是什麼?
例子:
NOT:#!/home
但是:/home
你會其實只是想設置mode
到'history'
。
const router = new VueRouter({
mode: 'history'
})
確保你的服務器被配置爲處理這些鏈接,但。 https://router.vuejs.org/en/essentials/history-mode.html
或者如果你正在使用Router
那麼你可以爲
const router = new Router({
mode: 'history',
routes: [
{ path: '*', component: NotFoundComponent }
]
})
使用對於Vue公司1個使用這個:
const router = new VueRouter({
history: 'true'
})
window.router = new VueRouter({
hashbang: false,
//abstract: true,
history: true,
mode: 'html5',
linkActiveClass: 'active',
transitionOnLoad: true,
root: '/'
});
和服務器配置正確 在Apache你應該寫的URL重寫
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
哈希是默認VUE路由器模式設置,它被設置因爲散列,應用程序並不需要連接服務器服務網址。要更改它,您應該配置您的服務器並將模式設置爲HTML5 History API模式。
對於服務器的配置,這是幫你設置Apache,Nginx的和Node.js的服務器的鏈接:
https://router.vuejs.org/en/essentials/history-mode.html
那麼你應該確保,即VUE路由器模式設置類似如下:
vue-router version 2。X
const router = new VueRouter({
mode: 'history',
routes: [...]
})
需要明確的是,這些都是VUE路由器模式可以選擇:「哈希」 | 「歷史」| 「抽象」
您必須配置這樣VUE JS 2
const router = new VueRouter({
mode: 'history'
})
已經有一個與你不同的工作解決方案解釋瞭解決方案。請重新考慮您的答案,您是否認爲您在現有的接受答案中添加了一些重要的細節或信息? –
感謝比爾這裏,你可以刪除hashbang假太這裏的路徑是代碼:'常量路由器=新VueRouter({ \t歷史:真 })' – DokiCRO
很酷。我會更新我的答案。 –
我在玩https://github.com/vuejs/vue-hackernews並添加了'{history:true}'適用於第一頁,但其餘路由失敗。 –