我想为 nginx 服务器块内的特定查询创建永久重定向。例如,我当前的 php 脚本 URL 链接如下:
website.com/?hash=12345
因此我需要将其更改为website.com/folder/?hash=12345
是否有一种方法仅当在查询中给出参数?hash = 时才永久重定向,而其他所有查询保持原样?
编辑:我在这里做了一些测试
location ~* /.*hash\=.*/ {
rewrite ^ https://mysite.eu/bluetracker/$request_uri? permanent;
}
但遗憾的是这也不起作用
答案1
这很简单。只需检查参数是否存在。
location / {
if ($arg_hash) {
return 301 /folder/$is_args$args;
}
# everything else...
}
注意,如果存在查询字符串,则$is_args
返回,否则返回空字符串。并返回整个查询字符串。?
$args