问题描述
我在 gatsby 项目中遇到尾随斜线问题。当我尝试重新加载或触发 url Ex:website.com/page1 时,它正在加载带有尾随斜杠的 url,例如 website.com/page1/然后它会返回到 website.com/page1。它发生在每一页。我试过删除尾部斜杠插件,但没有得到结果
我将不胜感激任何帮助。 谢谢。
解决方法
以下是我避免此问题的方法:
- 确保所有链接都链接到页面的尾部斜杠版本,例如
<Link to="/some/path/">…</Link>
- 通过
gatsby-node.js
API 调用在createPage
中生成页面时,请始终使用尾部斜杠指定path
- 将服务器配置为从对
about.html
的请求提供/about/
之类的页面(Netlify 称之为“漂亮的 URL”) - 确保服务器配置为使用目录索引进行响应,并查找
index.html
文件作为目录索引;禁用自动索引以获得良好的测量 - 确保服务器响应路径的两个版本的目录索引(带和不带斜杠)
在大多数情况下,您只需要担心 #1 和 #2,但如果这不能解决问题,您就继续往下看。