我正在尝试在 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;
}