我有一个 ISAPI 过滤器,用于为我的 CMS 进行 URL 重写。我正在处理 SF_NOTIFY_PREPROC_HEADERS 通知,并尝试执行此操作:
DWORD ProcessHeader(HTTP_FILTER_CONTEXT *con, HTTP_FILTER_PREPROC_HEADERS *head)
{
head->SetHeader(con, "test1", "aaa");
con->AddResponseHeaders(con, "test2:bbb\r\n", 0);
return SF_STATUS_REQ_NEXT_NOTIFICATION;
}
但是,我似乎无法使用经典 ASP 或 PHP 中的服务器变量或响应 header 读取这些值。缺少值。我期望出现“test1”或“test2” header 值,但它们没有出现。我在这里做错了什么吗?
最佳答案
我终于弄清楚了,我在标题名称中缺少一个“:”:
DWORD ProcessHeader(HTTP_FILTER_CONTEXT *con, HTTP_FILTER_PREPROC_HEADERS *head)
{
head->SetHeader(con, "test1:", "aaa");
return SF_STATUS_REQ_NEXT_NOTIFICATION;
}
现在创建一个名为“HTTP_TEST1”的服务器变量。
关于c++ - 在 IIS ISAPI 筛选器中设置自定义 header 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2471892/