我正在将我的网站重写为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
请帮我解决这个问题。
答案 0 :(得分:1)
最后我找到了答案。我必须像HEADER_phone_number一样传递。
请refer 了解更多详情。
HEADER_HeaderName(IIS 5.1及更早版本:此服务器变量不可用):
标题中存储的值。除此表中列出的标题之外的任何标题必须以&#34; HEADER _&#34;开头。以便ServerVariables集合检索其值。这对于检索自定义标头很有用。 注意: 与HTTP_不同,HEADER_中的所有字符都按原样解释。例如,如果指定HEADER_MY_HEADER,则服务器将搜索名为MY_HEADER的请求标头。
HTTP_HeaderName:
标题中存储的值。除此表中列出的标题之外的任何标题必须以&#34; HTTP _&#34;开头。以便ServerVariables集合检索其值。这对于检索自定义标头很有用。 注意: 服务器将任何下划线(_)字符解释为实际标题中的破折号。例如,如果指定HTTP_MY_HEADER,则服务器将搜索名为MY-HEADER的请求标头。