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

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

我想对网站索引进行 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 /; }
}

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

有任何想法吗?

答案1

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

rewrite ^/content /? permanent;

意思是,重写所有请求:

  • 从域的根目录开始 (^/)

  • 然后是“内容”

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

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

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

我想就是这样了。

相关内容