Я пытаюсь перенести сервер из Apache в NGINX. Он сидит перед ведром S3 для обеспечения контроля доступа и некоторой перезаписи URL-адресов. Я был в состоянии переключить все над исключением из этого правила один странного переписывания:NGINX эквивалент новичка Apache mod_rewrite
RewriteRule ^([^+]*)\+\+(.*)$ http://s3.amazonaws.com/bucket$1\%2b\%2b$2 [P,NE]
У нас есть один файл, который должен иметь «++» в URL. Когда вы запрашиваете его с S3, необходимо, чтобы URL-адрес был экранирован. Флаг noescape позволяет сделать это в Apache. Я пытался сделать это в NGINX как:
rewrite ^([^+]*)\+\+(.*)$ $1%2b%2b$2 last;
но знаки процента получают двойной спасся и «++» был заменен на «% 252B% 252B». Есть ли способ сделать это с помощью NGINX?
Не повезло. Это переводится на «% 25% 25b% 25% 25b» – Nate