NGINX:在重写中去除查询字符串

Rog*_*ger 3 nginx 301-redirect

我想在没有任何查询字符串的情况下对站点的索引进行 301 重写。像这样:

http://example.com/anypage.asp?anyvar=anyvalue

到:

http://example.com/

这是一个真实的例子:

http://atipico.com.br/conteudo.asp?P_categ=23

我试图按照这个:http : //wiki.nginx.org/NginxHttpRewriteModule#rewrite

(评论是我的尝试):

location ~ /conteudo\.asp(.*)$ {
    #rewrite ^ / permanent;
    #rewrite ^ /? permanent;
    #return 301 /;
    #return 301 /?;
    #if ($args) { return 301 /; }
}
Run Code Online (Sandbox Code Playgroud)

它总是重写为 http://atipico.com.br/?P_categ=23

有任何想法吗?

Rog*_*ger 6

这是我发现的最好的规则,它对我有用:

rewrite ^/content /? permanent;
Run Code Online (Sandbox Code Playgroud)

意思是,重写所有请求:

  • 从域的根 (^/) 开始

  • 然后是“内容”

  • 到站点 (/) 的根(索引)

  • 删除它可能具有的所有查询字符串 (?)

  • 并在标题中显示 301 重定向。

我想就是这样。