首页 > 解决方案 > 我似乎无法从网站上删除 # 符号

问题描述

我的网站是https://jaylanthedev.com/#/但出于某种原因,它需要 # 签名才能访问不是主页的任何其他页面。我很困惑为什么会这样。这是一个托管在 azure 上的 vue 应用程序,谷歌搜索后我无法做到这一点。也不确定这是 vue 问题还是 azure 问题。有人有想法么?

例如:有效: https : //jaylanthedev.com/#/about 无效:https ://jaylanthedev.com/about

标签: vue.js

解决方案


如果您在这里阅读:

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

vue-router 的默认模式是哈希模式——它使用 URL 哈希来模拟一个完整的 URL,这样当 URL 发生变化时页面就不会重新加载。

所以 Vue 有一个默认的哈希值来加载它的路由。切换到历史模式:

const router = new VueRouter({
  mode: 'history',
  routes: routes
})

但是 - 这意味着您需要一个服务器来呈现您的页面。您需要让您的客户端在 express 或任何类似的节点服务器上运行,以便它可以在不重新渲染的情况下路由页面。


推荐阅读