在验证之前使用mod_rewrite提取请求标头

时间:2014-09-05 07:53:40

标签: apache mod-rewrite mod-perl

我需要重写URL以将身份验证令牌从URL复制到标头中(因为新客户端无法使用标头),并从URL中删除(大)令牌。

<Location /foo/>
  RewriteEngine On
  RewriteRule ^(.*)/(authtoken)/([^/]*)(.*)$ $1$4 [E=HAS_auth:$3,L]
  RequestHeader set AUTHTOKEN %{HAS_auth}e env=HAS_auth
  SetHandler perl-script
  PerlAccessHandler AuthHandler

所以请求格式为&#34; / foo / boo / moo / authtoken / baaaaaa / bar&#34;改写为&#34; / foo / boo / moo / bar&#34;和请求标题&#34; AUTHTOKEN:baaaaaa&#34;添加到请求中。

正在重写URI,并且正在设置测试env var,但访问处理程序(mod_perl)没有看到AUTHTOKEN标头,甚至ENV {HAS_auth},尽管重写正在运行(我记录了它)。 / p>

是否可以在身份验证(访问)处理程序之前实际重写和设置标头,如果是,如何?

0 个答案:

没有答案