nginx 重写尝试查找包含查询字符串的文件

nginx 重写尝试查找包含查询字符串的文件

我正在尝试将友好 URL 映射到旧版应用中的文件。有一个文件将接收操作作为参数来呈现不同的部分。

我认为我的重写条件是错误的,因为 nginx 正在尝试定位包含查询字符串的文件。以下是我的配置文件的一部分:

http {
    ...
    map $request_uri $legacy_rewrite {
        ...
        ~^/informativos$ /painel.php?act=ver_informativos;
        ...
    }

    server {
        ...
        location / {
            if ($legacy_rewrite) {
                rewrite ^/(.*)$ $legacy_rewrite break;
            }
        }
    }
}

问题是我收到这个错误:

[error] 1132019#0: *28724 open() "[my_app_path]/painel.php?act=ver_informativos;"  failed (2: No such file or directory)

我应该如何编写这个重写以便 nginx 能够理解我所引用的painel.php

相关内容