最有效的web.config重定向

问题描述 投票:0回答:1

我有一组文件夹重定向,将用户发送到外部网站。

例如,我有一组文件夹重定向,将用户发送到外部网站。

site.com/folder --> www.cnn.com
site.com/folder2 --> www.foxnews.com

这个设置似乎还不错,只是它也抓到了图片,而不仅仅是文件夹。

 <rule name="NAME_zoom1" stopProcessing="true">
      <match url=".*" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}{REQUEST_URI}" pattern="(.*)/folder" />
      </conditions>
      <action type="Redirect" appendQueryString="false" url="https://cnn.com" redirectType="Permanent" />
    </rule>

有没有一种更好的规则,可以只与一级文件夹相关 (site.com/folder 而不是 site.com/images/folder)?同样重要的是--只匹配文件夹,而不匹配可能有 "文件夹 "字样的图片(现在正在发生)。

更新:我需要确定 folderfolder1 不陷入同样的规则中,而他们确实如此,并增加了 ^ 似乎不能解决这个问题。

 <match url="^folder" />

现在我的两条规则是这样的:

<rule name="NAME_folder" stopProcessing="true">
  <match url="^folder$" />
  <conditions logicalGrouping="MatchAny">
    <add input="{HTTP_HOST}{REQUEST_URI}" pattern="(.*)/folder" />
  </conditions>
  <action type="Redirect" appendQueryString="false" url="https://cnn.com" redirectType="Permanent" />
</rule>
<rule name="NAME_folder1" stopProcessing="true">
  <match url="^folder1$" />
  <conditions logicalGrouping="MatchAny">
    <add input="{HTTP_HOST}{REQUEST_URI}" pattern="(.*)/folder1" />
  </conditions>
  <action type="Redirect" appendQueryString="false" url="https://foxnews.com" redirectType="Permanent" />
</rule>

在输入两个URL时(folderfolder1)--用户会被重定向到URL,以获取 folder - 即使我改变了文件中规则的顺序,也是如此。

web-config iis-7.5
1个回答
0
投票

你可以尝试使用下面的规则。

<rule name="rule12" stopProcessing="true">
                <match url="^folder" />
                <action type="Redirect" url="http://www.cnn.com" appendQueryString="false" />
            </rule>
© www.soinside.com 2019 - 2024. All rights reserved.