Spec-Zone.ru › Caddy

корень

Устанавливает корневой путь сайта, используемый различными сопоставителями и директивами, которые обращаются к файловой системе. Если не задано, по умолчанию корень сайта — текущий рабочий каталог.

Конкретно, эта директива устанавливает {http.vars.root} placeholder. Она взаимно исключает другие root директивы в том же блоке, поэтому безопасно определять несколько корней с сопоставителями, которые пересекаются: они не будут переходить друг другу и перезаписывать друг друга.

Эта директива не включает автоматическое предоставление статических файлов, поэтому ее часто используют в сочетании с file_server директивой или php_fastcgi директивой.

Синтаксис

root [<matcher>] <path>
  • <path> — путь для использования в качестве корневого каталога сайта.

До версии v2.8.0, аргумент <path> мог быть ошибочно интерпретирован парсером как токен сопоставителя, если он начинался с /, поэтому необходимо было указать токен сопоставителя с подстановочными символами (*).

Примеры

Установите корневой путь сайта в /home/bob/public_html (предполагается, что Caddy запущен как пользователь bob):

Если вы запускаете Caddy в качестве службы systemd, чтение файлов из /home не будет работать, потому что у пользователя caddy нет разрешения на выполнение в каталоге /home (необходимо для перемещения по каталогам). Рекомендуется разместить файлы в /srv или /var/www/html.

root * /home/bob/public_html

Обратите внимание, что до версии v2.8.0 здесь требовался сопоставитель с подстановочными символами, потому что первый аргумент был неоднозначным с сопоставителем пути, т.е. root * /srv, но теперь его можно упростить до root /srv.

Установите корневой путь сайта в public_html (относительно текущего рабочего каталога) для всех запросов:

root public_html

Изменить корневой путь сайта только для запросов в /foo/*:

root /foo/* /home/user/public_html/foo

Директива root обычно используется совместно с file_server для предоставления статических файлов и/или с php_fastcgi для предоставления сайта PHP:

example.com {
	root * /srv
	file_server
}

© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/caddyfile/directives/root

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API