我想将某个 URL 重定向到同一网站上的另一个文件夹。每个 URL 都有查询字符串,因此简单的 301 返回不起作用。
我想要的重定向示例。
example.com/th/?n=abc 301 to example.com/thh/?n=abc
example.com/th/?n=xyz 301 to example.com/thh/?n=xyz
搜索解决方案后,我发现了一个仅适用于第一个 URL 的解决方案。
location ~ /th/ {
if ($args ~* "^n=abc") {
set $mid $1;
rewrite ^.*$ https://example.org/thh/$mid permanent;
}
}
但是如果我为 xyz 查询字符串创建相同的规则,则重定向规则就会起作用。
location ~ /th/ {
if ($args ~* "^n=xyz") {
set $mid $1;
rewrite ^.*$ https://example.org/thh/$mid permanent;
}
}
第二条规则不起作用,只有第一条规则起作用。我想可能是 mid var 被第一条规则覆盖了。我将 var 改为 jar 仍然不起作用。
有人能帮忙找到解决方案吗?我不想将整个文件夹重定向到 th。