像 /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>