feat: чистые URL без .html
- VitePress: включён cleanUrls - Caddyfile: try_files пробует .html для запросов без расширения - Caddyfile: 301-редирект /foo.html → /foo для совместимости - sitemap.xml: канонические URL без .html
This commit is contained in:
12
Caddyfile
12
Caddyfile
@@ -7,6 +7,15 @@
|
||||
redir /docs/llms.txt /llms.txt 301
|
||||
redir /docs/llms-full.txt /llms-full.txt 301
|
||||
|
||||
# Чистые URL: запросы вида `/docs/foo.html` редиректим на `/docs/foo`.
|
||||
# Канон сайта — без `.html` (cleanUrls в VitePress).
|
||||
# Не трогаем index.html в корне — он не имеет смысловой пары без расширения.
|
||||
@legacyHtml {
|
||||
path_regexp legacyHtml ^(/.+)\.html$
|
||||
not path /index.html
|
||||
}
|
||||
redir @legacyHtml {re.legacyHtml.1} 301
|
||||
|
||||
# Подсказка агентам, где лежит карта документации (RFC 8288).
|
||||
# Позволяет найти llms.txt без парсинга DOM — по HTTP-заголовку.
|
||||
header Link "</llms.txt>; rel=\"llms\""
|
||||
@@ -30,5 +39,6 @@
|
||||
respond @missingText 404
|
||||
|
||||
file_server
|
||||
try_files {path} {path}/ /index.html
|
||||
# cleanUrls: пробуем точное совпадение → +.html → каталог → SPA-фолбэк.
|
||||
try_files {path} {path}.html {path}/ /index.html
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user