我可以知道如何检查HOST标头吗?
建议检查{HTTP_HOST}变量,而不是直接查看HTTP标头。因为如果您查看请求标头,您将始终看到www.mysite.com。
您可以从后端服务器blog.mysite.com获取{HTTP_HOST}请求变量。
但是,如果您的意思是Blog.mysite.com中的页面也显示{HTTP_HOST}为www.mysite.com。那么请检查是否已将 system.webServer / proxy / preserveHostHeader 设置为 true ?
顺便说一下,IIS支持手动重写HTTP_HOST,您可以这样修改规则:
<rule name="blogredirect1" stopProcessing="true">
<match url="^blog(.*)" />
<action type="Rewrite" url="http://blog.example.com{R:1}" />
<serverVariables>
<set name="HTTP_HOST" value="blog.example.com" />
</serverVariables>
</rule>
请记住要在URL重写中允许服务器变量{HTTP_HOST}。
https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/setting-http-request-headers-and-iis-server-variables
您也可以在applicationhost.config <location path="sitename">
部分中进行设置。
<location path="Default Web Site">
<system.webServer>
<rewrite>
<allowedServerVariables>
<add name="HTTP_HOST" />
</allowedServerVariables>
</rewrite>
</system.webServer>
</location>
本文链接:https://www.f2er.com/3154759.html