[英]How to pass Header with underscore in Server Variable IIS URL Rewrite?
我正在将我的网站重写为diff url,并且必须传递标头。
所以一切都很好。 但是一个标头名称带有下划线(_)。
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule2" patternSyntax="Wildcard" stopProcessing="false">
<match url="*core*" />
<action type="Rewrite" url="http://xxxxxxx/yyyyy/core{R:2}" logRewrittenUrl="true" />
<serverVariables>
<set name="HTTP_name" value="name" />
<set name="HTTP_address" value="address" />
<set name="HTTP_phone_number" value="1234567890" />
</serverVariables>
</rule>
</rules>
<outboundRules>
<preConditions>
<preCondition name="ResponseIsHtml1">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
所有下划线(phone_number)将转换为连字符(phone-number),因此未传递所需的标头。
我必须通过phone_number
请帮我。
终于我找到了答案。 我必须像HEADER_phone_number一样传递。
请参阅更多详细信息。
HEADER_HeaderName(IIS 5.1和更低版本:此服务器变量不可用):
存储在标头中的值。 此表中列出的头之外的任何头都必须以“ HEADER_”开头,以便ServerVariables集合检索其值。 这对于检索自定义标头很有用。 注意:与HTTP_不同,HEADER_中的所有字符均按原样解释。 例如,如果指定HEADER_MY_HEADER,服务器将搜索名为MY_HEADER的请求标头。
HTTP_HeaderName:
存储在标头中的值。 此表中列出的头之外的任何头都必须以“ HTTP_”开头,以便ServerVariables集合检索其值。 这对于检索自定义标头很有用。 注意:服务器在实际标题中将所有下划线(_)字符解释为破折号。 例如,如果指定HTTP_MY_HEADER,则服务器将搜索名为MY-HEADER的请求标头。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.