像 /foo 和 /foo/ 这样的两个 URL 看起来可能一样,但实际上是不同的。相对 URL(例如 ./bar)在第一种情况下会解析为 /bar,而在第二种情况下会解析为 /foo/bar。搜索引擎会将它们视为不同的条目,这会损害你的 SEO。
简而言之,对尾部斜杠采取随意的态度是不好的。默认情况下,SvelteKit 会去除尾部斜杠,这意味着对 /foo/ 的请求会重定向到 /foo。
如果你想要确保始终存在尾部斜杠,可以相应地指定 trailingSlash 选项:
src/routes/always/+page.server
export const trailingSlash = 'always';要同时适应两种情况(不推荐这样做!),可以使用 'ignore':
src/routes/ignore/+page.server
export const trailingSlash = 'ignore';默认值是 'never'。
尾部斜杠的使用与否会影响预渲染。像 /always/ 这样的 URL 会被保存为 always/index.html,而像 /never 这样的 URL 会被保存为 never.html。
1
2
<h1>trailingSlash</h1>