uri具有百分比字符的nginx配置
问题描述:
我正在寻找几个小时来配置我的nginx。uri具有百分比字符的nginx配置
问题: 我遇到的网址是这样的:https://exemple.com/myAction/%123456 请注意%123456 不幸的是这部分是因为它并不能修改 (我不能跳过%)
Nginx的(试图)解释%XX并将修改URI到我的控制器:
- %403456变得@ 3456,
- %5B3465变为[3456等
问题: 有没有办法说nginx不改变%XX?
在此先感谢
答
在你把它发送给你的控制器部分,使用变量$request_uri
,其非规范化的URI查询字符串,用$request_uri?
下降的查询字符串。
$scheme://$host$request_uri?
or
$scheme://$host$request_uri
'%'是一个保留字符。要编写一个包含文字'%'的URI,它需要被编码为%25'。有关详细信息,请参阅此[wiki文章](https://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_the_percent_character)。 –
@RichardSmith谢谢,所以您认为无法使用重写规则,如** rewrite(/myAction/%)(.*)$/myAction/%25 $ 2; ** ?? \\我很糟糕在nginx和重写,但也许这是可能的 – noob