Проверьте, разделяет ли этот набор в Вашем "местоположении" - для Вашего fastcgi-модуля
fastcgi_param QUERY_STRING $query_string;
Попытайтесь проверить variables_order в php файл конфигурации, используемый nginx.
Особенностью команды try_files
в nginx является то, что query_string
не передается автоматически в перезаписанный файл, а должна передаваться явно. Из-за этого _ $ SERVER ['QUERY_STRING']
всегда пусто, поэтому переменные $ _ REQUEST
и $ _ GET
также не установлены.
] Из документации Nginx:
В отличие от rewrite, $ args не сохраняется автоматически, если запасной вариант - это не указанное местоположение. Если вам нужно сохранить аргументы, вы должны сделайте это явно:
try_files $uri $uri/ /index.php?q=$uri&$args;
или только с аргументами
try_files $uri $uri/ /index.php?$args;
Если вы хотите гарантировать получение исходных аргументов, используйте $ query_string
, что аналогично $ args
, за исключением того, что $ query_string
доступен только для чтения.
Это может произойти, если в Apache установлено LimitRequestBody
(см. core) или SecRequestBodyLimit
(см. mod_security) и тело запроса больше указанного предела.