Apache 对具有RewriteRule的cookie值使用RewriteMap
我试图转义一个由重写规则设置的cookie值 例如,假设我的站点是 我需要将URL的一部分作为cookie发送回去 在本例中,我可以看到Apache正在取消对url的替换 从浏览器返回的是:Apache 对具有RewriteRule的cookie值使用RewriteMap,apache,url,mod-rewrite,cookies,escaping,Apache,Url,Mod Rewrite,Cookies,Escaping,我试图转义一个由重写规则设置的cookie值 例如,假设我的站点是 我需要将URL的一部分作为cookie发送回去 在本例中,我可以看到Apache正在取消对url的替换 从浏览器返回的是: 设置Cookie:mycokie=foo+bar;路径=/;domain=www.example.com 这是我当前的配置(注意,我添加了escape RewriteMap以尝试解决我的问题,但它没有任何作用): 我需要从回复中得到的是: 设置Cookie:mycokie=foo%2Bbar;路径=/;do
设置Cookie:mycokie=foo+bar;路径=/;domain=www.example.com
这是我当前的配置(注意,我添加了escape RewriteMap以尝试解决我的问题,但它没有任何作用):
我需要从回复中得到的是:
设置Cookie:mycokie=foo%2Bbar;路径=/;domain=www.example.com
这可能吗?我已经通过perl脚本完成了这项工作:
#!/usr/bin/perl
use URI::Escape;
$| = 1;
while (<STDIN>) {
my $a = $_;
chomp($a);
$a = uri_escape($a);
$a =~ s/%2F/\//g;
print "$a\n";
}
我能够从以下方面借用实施理念:
这就成功了
#!/usr/bin/perl
use URI::Escape;
$| = 1;
while (<STDIN>) {
my $a = $_;
chomp($a);
$a = uri_escape($a);
$a =~ s/%2F/\//g;
print "$a\n";
}
RewriteMap encode-map prg:/var/www/encode.pl
RewriteRule /blah/(.*) - [co=mycookie:${encode-map:$1}:www.example.com,L]