我想将请求重定向到一个文件
/path/to/file/content?path=file.pdf
至
/new/path/to/file/file.pdf
在同一个域下。
我尝试了简单的重写规则或像这样。
location ~ ^/path/to/file/content?path=(.*) {
return 301 /new/path/to/file/$1;
}
不幸的是,nginx 不理解这个变量。我究竟做错了什么?请问有人给我小费吗?不幸的是,我对 reqex 了解不多。非常感谢!
与 apache 重写规则不同
location
,rewrite
nginx 指令都使用所谓的规范化URI(请参阅location
指令文档以了解其含义),其中不包括查询部分。检查path
查询参数是否不为空,如果请求 URI 与您的模式匹配,请使用以下配置片段执行重定向: