我试图将服务器从Apache迁移到NGINX。它位于S3存储桶前面,提供访问控制和一些URL重写。除了这个奇怪的重写规则之外,我能够切换所有内容:
RewriteRule ^([^+]*)\+\+(.*)$ http://s3.amazonaws.com/bucket$1\%2b\%2b$2 [P,NE]
我们有一个文件需要有" ++"在URL中。当您从S3请求时,+#需要进行网址转义。 noescape标志允许您在Apache中执行此操作。我尝试在NGINX中这样做:
rewrite ^([^+]*)\+\+(.*)$ $1%2b%2b$2 last;
但百分号符号被双重逃脱并且" ++"被替换为"%252b%252b"。有没有办法用NGINX做到这一点?
答案 0 :(得分:0)
尝试使用另一个%:
转义%rewrite ^([^+]*)\+\+(.*)$ $1%%2b%%2b$2 last;