Fox 示例,我有 URL:/test/new/?arg1=1&arg2=2&arg3=3
我还有 nginx 规则:rewrite/test/(.*)//handlers/test.php?action=$1&query=$args break;
但是在我的处理程序中 $_GET['query'] 变量仅包含 arg1=1
,但我需要所有查询。
什么问题?
最佳答案
rewrite
指令会自动附加原始查询字符串(除非您添加尾随 ?
)。请参阅this document .
因此 /handlers/test.php?action=$1
将包含参数 action
、arg1
、arg2
> 和示例中的 arg3
。
query=$args
无法按预期工作的原因是它扩展为:
query=arg1=1&arg2=2&arg3=3
看起来像三个参数:query=arg1=1
、arg2=2
和 arg3=3
。
关于Nginx 如何获取多个$args?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35358039/