我想像这样从我的 Amazon S3 存储桶代理:
这个网址:
http://www.mysite.com/page1
来自此网址的代理:
http://mys3.bucket.com/www.mysite.com/page1
这适用于此规则
RewriteRule .* http://mys3.bucket.com/%{HTTP_HOST} [P]
但是,当 url 包含查询字符串时,就会出现复杂情况。
这个网址:
http://www.mysite.com/page1?search=asdf
应该代理这个网址:
http://mys3.bucket.com/www.mysite.com/page1?search=asdf
要使用 S3,需要像这样编码,以便查询字符串是键的一部分:
http://mys3.bucket.com/www.mysite.com/page1%3Fsearch%3Dasdf
请注意,只有?
and=
应该被编码。%
在值的键中应该单独保留。
你怎么能用 Apache 做到这一点?