nginx:使用所有参数将不存在的 php 文件重写为另一个 php 文件

nginx:使用所有参数将不存在的 php 文件重写为另一个 php 文件

我真的需要帮助。坐了好久还是没弄明白。

我想实现一个非常简单的任务 - 将一个不存在的 php 文件重写为另一个存在的 php 文件,所有参数如下:

this  http://example.com/nonexistent.php?url=google.com
to -> http://example.com/existent.php?url=google.com

我尝试了这样的事情:

rewrite ^/nonexistent.php /existent.php;

不起作用(文件未找到)。但可以将不存在的 html 文件重定向到 php 文件,如下所示:

rewrite ^/nonexistent.html /existent.php;

作品。

我不想重写 html 文件,但这仍然是一种令人困惑的行为。

因此它也尝试了类似这样的操作(以及一些变化):

rewrite ^/nonexistent.php?url=^(.*)$ /existent.php?url=$1;

这也不起作用。(可能是语法不好)

有什么帮助吗?太好了!

答案1

location = /nonexistent.php {
    rewrite ^ /existent.php last;
}

相关内容