Apache:如何在 cookie 环境变量中记录值?

Pra*_*eek 6 apache-2.2

我正在尝试使用记录 cookie 信息

CustomLog $PATH "%{cookie}i"

现在我希望hb_name, hb_email, hb_cellno, hb_visit, hb_session从这个 cookie将某些变量 ex( ) 记录到我的日志文件中。

我怎样才能从这个 cookie 中解析出特定的值并记录它们?

Sha*_*den 3

嗯,这完全取决于 cookie 的格式 - 但一点正则表达式应该可以帮助您实现这一目标。

假设您的 cookie 内容是hb_name:A,hb_email:a@example.com,hb_cellno:1112223333

RewriteCond %{HTTP_COOKIE} hb_name:([^,]*)
RewriteRule ^ - [E=HBNAME:%1]
RewriteCond %{HTTP_COOKIE} hb_email:([^,]*)
RewriteRule ^ - [E=HBEMAIL:%1]
RewriteCond %{HTTP_COOKIE} hb_cellno:([^,]*)
RewriteRule ^ - [E=HBCELL:%1]
Run Code Online (Sandbox Code Playgroud)

这样就可以将每个值放入它们自己的 Apache 环境变量中,然后可以轻松记录该变量:

CustomLog /some/file "name=%{HBNAME}e email=%{HBEMAIL}e cell=%{HBCELL}e"
Run Code Online (Sandbox Code Playgroud)

如果您能澄清您的 cookie 的确切格式以及您想要登录的确切格式,那么我可以更具体。