具有HTTP标头的URL重写规则

时间:2015-09-07 13:27:10

标签: asp.net iis url-rewriting

我正在尝试使用IIS的URL重写模块将我的用户重定向到IIS服务器上的另一个应用程序/站点,但是我需要保留自定义HTTP标头以进行身份​​验证,但它们似乎迷失了重写。有没有人知道是否以及如何设置规则以便在以他/她的快乐方式发送用户时包含这些HTTP标头?

这是规则,按照今天:

        <rewrite>
        <rules>
            <rule name="API Redirect">
                <match url="/API/Tracker/\d{1,2}.\d{1,2}/(.*)" />
                <action type="Rewrite" url="/Tracker/1.0/tracker.svc/{R:1}" appendQueryString="false" logRewrittenUrl="true" />
            </rule>
        </rules>
    </rewrite>

3 个答案:

答案 0 :(得分:1)

我遇到类似的问题。我一直在丢失一些我试图使用的Cache-Control标头。

以下能够帮助我。如果您希望标题具有动态值,我不确定如何执行此操作,但这对我有用。

我在使用IIS 8.5时遇到了这个问题。

进入您的网站,在IIS中&gt; HTTP响应标头

然后添加您想要使用的自定义标头和值。同样,如果您需要标题具有动态值,我不确定如何执行此操作。

答案 1 :(得分:0)

您是否尝试过启用查询字符串?

appendQueryString="true"

答案 2 :(得分:0)

只是想分享一个可以根据当前网址应用自定义http标头的解决方案 - 不确定这是否正是您要查找的内容但是当我想添加X-Robots-Tag时它对我有用所有请求到我们的管理页面。

在web.config中,添加:

<location path="admin">
    <system.webServer>
      <httpProtocol>
          <customHeaders>
              <remove name="X-Robots-Tag" />
              <add name="X-Robots-Tag" value="noindex"/>
          </customHeaders>
    </httpProtocol>
 </system.webServer>
</location>