nginx - Vue Router:直接从浏览器地址栏访问页面
问题描述
我正在为我的 Vue.js 应用程序使用 Vue Router 历史模式。我的问题是,当我尝试刷新一个不是根页面的页面时,或者在浏览器地址栏中输入其 URL 时,会显示“找不到页面”404。
现在,在 Vue Router 指南中,他们对此发出警告(请参阅https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations),并建议解决方案“添加一个简单的捕获-all 到您的服务器的后备路由。如果 URL 与任何静态资产不匹配,它应该提供与您的应用程序所在的 index.html 页面相同的页面”。
使用此解决方案,如果我尝试通过浏览器地址栏访问我的一个非根页面(具有相应的 URL),则会显示根页面。这种解释正确吗?
我的问题:有没有办法实现这样的行为,以便我可以直接从浏览器地址栏访问我的不同页面,并在刷新时保持在同一页面上?
解决方案
如果您使用上述配置。您的后端会将所有请求路由到 index.html。然后当 Vue-Router 挂载时,它会检查 URL 并提供相应的组件。上面的实现将起作用。
推荐阅读
- php - 计算 SQL 列中的出现次数与 HTML 表中的列表之间的百分比差异
- php - 如何在 PDO 中使用 Union
- testing - 在单个主机上运行 Nifi 集群
- php - 如何在codeigniter的选择,复选框和单选输入中显示获取的数据?
- r - Dplyr:过滤成对分组数据集,按条件从每对中仅保留一行
- r - 将循环的迭代绑定为 data.frame 中每个 i 的行
- javascript - Javascript:2D 平台,点/线碰撞,处理小数
- three.js - 在 Three.js (A-Frame) 中如何防止音频剪辑?
- html - Firefox 出现奇怪的 Favicon 问题
- redis - 如何使用 Istio 连接到集群外的 Redis?