使用 IIS7 的 URL 重写捕获 Cookie 中的值

2024-03-26

我需要为 IIS 7.5 网站编写一个 URL 重写规则,捕获特定 cookie 中的值,然后使用该值构建 URL。例如,传入的请求如下所示:

GET http://myserver.com/test.aspx HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0
Host: myserver.com
Cookie: foo=bar; bat=bar

我想将它们路由到此(基于“foo”cookie 值):

http://myserver.com/bar/test.aspx

在查看文档并搜索示例后,我被难住了!感谢您的帮助。


回答我自己的问题,这是一个工作示例。该模式可能需要额外的工作,具体取决于需要支持的字符,但以下规则将使用发现的 cookie 值并路由到发现的服务器,并且可以通过 IPv4 地址或名称(字母数字和句点)指定服务器)。

<rule name="Route Base On Cookie" stopProcessing="true">
  <match url="^(.*)" />
    <conditions>
       <add input="{HTTP_COOKIE}" pattern="foo=(.*?);" />
    </conditions>
  <action type="Rewrite" url="http://{C:1}/{R:0}" />
</rule>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 IIS7 的 URL 重写捕获 Cookie 中的值 的相关文章

随机推荐