feat: чистые URL без .html
All checks were successful
CI/CD Pipeline / docker (push) Successful in 46s
CI/CD Pipeline / deploy (push) Successful in 7s

- VitePress: включён cleanUrls
- Caddyfile: try_files пробует .html для запросов без расширения
- Caddyfile: 301-редирект /foo.html → /foo для совместимости
- sitemap.xml: канонические URL без .html
This commit is contained in:
2026-04-27 10:12:30 +03:00
parent ef58a02609
commit 74cbd43a23
3 changed files with 17 additions and 4 deletions

View File

@@ -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
}