$fastcgi_script_name
Переменная $fastcgi_script_name содержит имя скрипта, обрабатываемого FastCGI-сервером. — NGINX Core (HTTP)
Описание
Переменная $fastcgi_script_name используется в конфигурации NGINX для получения имени скрипта, который передаётся FastCGI-серверу. Эта переменная в основном устанавливается при использовании директивы `fastcgi_pass`, которая перенаправляет запросы на FastCGI-сервер. При обработке входящего запроса NGINX извлекает часть URI, соответствующую скрипту, из запроса и устанавливает значение этой переменной соответственно. Это гарантирует, что FastCGI-приложение получит корректный путь к скрипту для обработки, что критично для приложений, которые полагаются на определённые механизмы маршрутизации, например PHP- или Python-приложений, работающих под FastCGI. В типичном использовании $fastcgi_script_name будет возвращать значение типа `/index.php` или `/app/script.php`, отражая скрипт, который должен быть выполнен. Если скрипт не найден или запрос не нацелен на скрипт, переменная может быть пустой. Поэтому эта переменная важна не только для маршрутизации к правильному скрипту, но и играет критическую роль в приложениях, где доступ к файлам строго контролируется структурой URL.
Пример конфига
location / {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}Подсистема
httpКэшируется
НетКонтексты
http, server, locationУбедитесь, что `fastcgi_param SCRIPT_FILENAME` правильно задан так, чтобы включать document root и имя скрипта, иначе FastCGI-сервер может не найти файл.
Помните, что если запрос не указывает на конкретный скрипт или скрипт не существует, $fastcgi_script_name может быть пустым, что приведёт к непредвиденным ошибкам.
При изменении request URI убедитесь, что $fastcgi_script_name соответственно обновлён, чтобы отразить эти изменения.