fastcgi_split_path_info

Директива fastcgi_split_path_info используется для разделения URI на две части, что особенно полезно для передачи конкретной информации пути в приложения FastCGI.

Синтаксисfastcgi_split_path_info regex;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива fastcgi_split_path_info позволяет указать регулярное выражение, которое соответствует части URI запроса и разделяет его на два компонента: "script" и "path info". Это важно для приложений FastCGI, когда вы хотите направлять определённые запросы URI к конкретным скриптам, одновременно передавая остаточную информацию пути для обработки. Директива определяет, как парсится URI, и позволяет приложению эффективно обрабатывать запросы.

Когда эта директива задана, сервер обрабатывает URI запроса в соответствии с указанным шаблоном, захватывая "script" и "path info" в переменные окружения SCRIPT_NAME и PATH_INFO соответственно. Эта функциональность позволяет разработчикам создавать чистые URL, одновременно позволяя их скриптам корректно работать с ожидаемыми входными данными. Предоставленное регулярное выражение должно быть тщательно сконструировано, чтобы адекватно захватывать требуемое; неправильные шаблоны могут привести к непредвиденному поведению или неверной маршрутизации запросов.

Директива может использоваться внутри контекстов http, server и location, что делает её очень гибкой для использования на разных уровнях конфигурации NGINX. Важно убедиться, что указанное регулярное выражение соответствует синтаксису, используемому в NGINX, и не конфликтует с существующими маршрутами на вашем сервере.

Пример конфига

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass 127.0.0.1:9000;
    include fastcgi_params;
}

Убедитесь, что регулярное выражение корректно соответствует структуре URI, ожидаемой вашим приложением; в противном случае вы можете потерять информацию о пути.

Если несколько директив fastcgi_split_path_info определены в разных контекстах, NGINX может использовать правило, определённое в наиболее специфичном контексте, что может привести к путанице.

← Ко всем директивам