2015-11-13 5 views
0

Я пытаюсь перенести сервер из 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?

ответ

0

Try спасаясь% с другим%:

rewrite ^([^+]*)\+\+(.*)$ $1%%2b%%2b$2 last; 
+0

Не повезло. Это переводится на «% 25% 25b% 25% 25b» – Nate

Смежные вопросы