像是 /foo
和 /foo/
這樣的兩個 URL 看起來可能相同,但它們實際上是不同的。像 ./bar
這樣的相對 URL 在第一種情況下會解析為 /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>