INTEGRITY Документация

Обработка HTML

Принудительное добавление или удаление слеша в конце путей запроса (например, example.com/page/ и example.com/page) часто хочется контролировать по эстетическим причинам. Кроме того, это может влиять на SEO, поскольку поисковые системы часто считают URL с завершающей косой чертой и без неё разными, отдельными страницами. Это может приводить к проблемам с дублированным контентом, сложностям с индексацией и общей путанице в вопросе, какая версия страницы является канонической.

assets.html_handling конфигурация определяет перенаправления и переписывание запросов для HTML-контента. Он задает шаблон канонических URL: откуда Cloudflare обслуживает HTML-контент и куда перенаправляет неканонические URL.

Рассмотрим следующую структуру каталогов:

Автоматические завершающие слэши (по умолчанию)

Обычно это автоматически дает нужное поведение: отдельные файлы (например, foo.html) будет отдан без конечный слеш и файлы индекса папки (например, foo/index.html) будет отдан с конечный слеш.

{
	"name": "my-worker",
	// Set this to today's date
	"compatibility_date": "2026-08-28",
	"assets": {
		"directory": "./dist/",
		"html_handling": "auto-trailing-slash"
	}
}
name = "my-worker"
# Set this to today's date
compatibility_date = "2026-08-28"

[assets]
directory = "./dist/"
html_handling = "auto-trailing-slash"

В зависимости от входящих запросов будут обслуживаться следующие ресурсы:

Входящий запрос Ответ Ресурс обслужен
/file 200 /dist/file.html
/file.html 307 на /file -
/file/ 307 на /file -
/file/index 307 на /file -
/file/index.html 307 на /file -
/folder 307 на /folder/ -
/folder.html 307 на /folder -
/folder/ 200 /dist/folder/index.html
/folder/index 307 на /folder -
/folder/index.html 307 на /folder -

Принудительно добавлять слеш в конце

Также вы можете принудительно добавлять завершающий слэш (force-trailing-slash).

{
	"name": "my-worker",
	// Set this to today's date
	"compatibility_date": "2026-08-28",
	"assets": {
		"directory": "./dist/",
		"html_handling": "force-trailing-slash"
	}
}
name = "my-worker"
# Set this to today's date
compatibility_date = "2026-08-28"

[assets]
directory = "./dist/"
html_handling = "force-trailing-slash"

В зависимости от входящих запросов будут обслуживаться следующие ресурсы:

Входящий запрос Ответ Ресурс обслужен
/file 307 на /file/ -
/file.html 307 на /file/ -
/file/ 200 /dist/file.html
/file/index 307 на /file/ -
/file/index.html 307 на /file/ -
/folder 307 на /folder/ -
/folder.html 307 на /folder/ -
/folder/ 200 /dist/folder/index.html
/folder/index 307 на /folder/ -
/folder/index.html 307 на /folder/ -

Удалять конечные слэши

Или можно убрать завершающие слеши (drop-trailing-slash).

{
	"name": "my-worker",
	// Set this to today's date
	"compatibility_date": "2026-08-28",
	"assets": {
		"directory": "./dist/",
		"html_handling": "drop-trailing-slash"
	}
}
name = "my-worker"
# Set this to today's date
compatibility_date = "2026-08-28"

[assets]
directory = "./dist/"
html_handling = "drop-trailing-slash"

В зависимости от входящих запросов будут обслуживаться следующие ресурсы:

Входящий запрос Ответ Ресурс обслужен
/file 200 /dist/file.html
/file.html 307 на /file -
/file/ 307 на /file -
/file/index 307 на /file -
/file/index.html 307 на /file -
/folder 200 /dist/folder/index.html
/folder.html 307 на /folder -
/folder/ 307 на /folder -
/folder/index 307 на /folder -
/folder/index.html 307 на /folder -

Отключить обработку HTML

Если у вас особые требования, встроенную обработку HTML можно отключить полностью (none).

{
	"name": "my-worker",
	// Set this to today's date
	"compatibility_date": "2026-08-28",
	"assets": {
		"directory": "./dist/",
		"html_handling": "none"
	}
}
name = "my-worker"
# Set this to today's date
compatibility_date = "2026-08-28"

[assets]
directory = "./dist/"
html_handling = "none"

В зависимости от входящих запросов будут обслуживаться следующие ресурсы:

Входящий запрос Ответ Ресурс обслужен
/file Зависит от not_found_handling Зависит от not_found_handling
/file.html 200 /dist/file.html
/file/ Зависит от not_found_handling Зависит от not_found_handling
/file/index Зависит от not_found_handling Зависит от not_found_handling
/file/index.html Зависит от not_found_handling Зависит от not_found_handling
/folder Зависит от not_found_handling Зависит от not_found_handling
/folder.html Зависит от not_found_handling Зависит от not_found_handling
/folder/ Зависит от not_found_handling Зависит от not_found_handling
/folder/index Зависит от not_found_handling Зависит от not_found_handling
/folder/index.html 200 /dist/folder/index.html