使用查询字符串重定向 301 似乎不起作用

redirect 301 with query string doesn't seem to work

我需要将一些带有查询字符串的 URL 重定向到另一个 URL

喜欢

 redirect 301 /web/works/?id=1  https://www.example.com/it/my_work_new_page/

.htaccess 似乎忽略了这个

但如果我添加

redirect 301 /it/fake/  http://www.test.it

有效

我已经有一个包含大约 100 个重定向的文件

您不能使用 Redirect 指令匹配查询字符串。将 mod_rewriteRewriteCond 指令一起使用,如下所示:

RewriteEngine On

RewriteCond %{THE_REQUEST} /web/works/\?id=1\s [NC]
RewriteRule ^ https://www.example.com/it/my_work_new_page/? [L,#=301]
目标中的

? 将去除先前存在的查询字符串。

参考文献: