uri具有百分比字符的nginx配置

问题描述:

我正在寻找几个小时来配置我的nginx。uri具有百分比字符的nginx配置

问题: 我遇到的网址是这样的:https://exemple.com/myAction/%123456 请注意%123456 不幸的是这部分是因为它并不能修改 (我不能跳过%)

Nginx的(试图)解释%XX并将修改URI到我的控制器:

  • %403456变得@ 3456,
  • %5B3465变为[3456等

问题: 有没有办法说nginx不改变%XX?

在此先感谢

+0

'%'是一个保留字符。要编写一个包含文字'%'的URI,它需要被编码为%25'。有关详细信息,请参阅此[wiki文章](https://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_the_percent_character)。 –

+0

@RichardSmith谢谢,所以您认为无法使用重写规则,如** rewrite(/myAction/%)(.*)$/myAction/%25 $ 2; ** ?? \\我很糟糕在nginx和重写,但也许这是可能的 – noob

在你把它发送给你的控制器部分,使用变量$request_uri,其非规范化的URI查询字符串,用$request_uri?下降的查询字符串。

$scheme://$host$request_uri? 
or 
$scheme://$host$request_uri