如何使用nginx重写来逃避问号?

时间:2013-01-19 14:47:13

标签: url-rewriting nginx migration rewrite

我bussy将我的网站迁移到nginx并且我有很多需要转换的重写规则,我遇到的唯一问题是当我尝试做这样的事情时:

rewrite ^/media?(.*)$                   /in.php?id=$1                   last;

这会导致php在$ _GET的键上读取$ 1广告而不是它的值。有没有办法改变这种行为而不诉诸困难的基于位置的方法?我问的原因是因为我有多个需要解决的基于查询字符串的重写。

1 个答案:

答案 0 :(得分:3)

nginx中?之后的所有内容都称为变量$query_string,因此如果您要从位置规则^/media?(.*)$翻译整个查询字符串,因为它看起来像是您想要的,试着用这个:

rewrite ^/media?(.*)$   /in.php?id=$query_string   last;

你在寻找什么?