我想对网站索引进行 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 重定向。
我想就是这样了。