2016-11-25 97 views
3

目前,我有这样的事情在我的nginx.conf文件:nginx的301查询字符串重定向

location ~ /old/page/?$ { 
    return 301 /new-page; 
} 

的问题是,查询字符串正在从/老/页剥离REF = XX网址?

是否可以使用上面使用的重定向方法包含查询字符串?

回答

5

?之后的任何内容都是查询字符串,并且不是在locationrewrite指令中使用的规范化URI的一部分。有关详细信息,请参阅this document

如果你想保留查询字符串,要么将它添加到return

location = /old/page/ { 
    return 301 /new/page$is_args$args; 
} 

或者与rewrite,除非?添加查询字符串自动附加:

rewrite ^/old/page/$ /new/page permanent; 

有关位置语法,请参阅this document;有关返回/重写,请参阅this document

+0

完美,结束了使用重写。感谢您的回答! –