Nginx Location 指令 - 将查询参数发送到 index.php

Nginx Location 指令 - 将查询参数发送到 index.php

我正在尝试在 nginx 中设置一个位置指令,其 URI 格式精确匹配:http://host/认证/?username=test&password=test。我在公共文件夹 /usr/share/nginx/html/authenticate/ 中有一个脚本,名为 index.php,该脚本应该处理发送的查询参数。当我尝试 http://host/authenticate/ 形式的 URI 时,我的 php 脚本 (index.php) 会处理该请求。但是,如果 URI 包含查询参数,http://host/authenticate/?username=blah&password=blah,则会出现 404 Not Found,而不是 index.php 处理请求。您认为我做错了什么吗?

非常感激。

location = /authenticate/ { 
    index index.php;
    try_files $uri $uri/index.php$is_args$query_string =404;

#   fastcgi_split_path_info ^(.+\.php)(/.+)$;

    fastcgi_param USERNAME $arg_username;
    fastcgi_param PASSWORD $arg_password;

    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root/authenticate/index.php;

    include fastcgi_params;
}

相关内容