【问题标题】:IIS rewrite - redirect path to a different URL, including partial path (C# web config)IIS 重写 - 将路径重定向到不同的 URL,包括部分路径(C# Web 配置)
【发布时间】:2018-09-04 20:45:36
【问题描述】:

我在 Sitecore 中有一个多站点设置,我的主站点是 mysite.com,我有一个辅助站点 secondsite.org。这两种方法都有效,但用户也可以通过转到第二个站点主节点的 Sitecore 路径(即 mysite.com/second-site-home)导航到 secondsite.org。我不希望这种情况发生,所以我在 webconfig 中添加了一个重定向,以便 mysite.com/second-site-home 将重定向到 secondsite.org:

<rule name="homepage path Redirect" stopProcessing="true">
  <match url="^second-site-home/?(.*)$" />
  <action type="Redirect" url="http://secondsite.org" redirectType="Found"/>
  <conditions>
    <add input="{HTTP_HOST}" pattern="^(www\.)?mysite.com$" />
  </conditions>
</rule>

这适用于主页,但我在 mysite.com 上有指向 secondsite.org 页面的链接,这些链接呈现为 mysite.com/second-site-home/about,当我导航到这个链接我被重定向到第二站点主页,而不是我想去的实际页面。

是否可以修改重定向,以便在重定向 url 中包含路径的其余部分之后 /second-site-home/?

【问题讨论】:

    标签: url redirect iis url-rewriting config


    【解决方案1】:

    您只需在规则中添加一个反向引用变量:

    <rule name="homepage path Redirect" stopProcessing="true">
      <match url="^second-site-home/?(.*)$" />
      <action type="Redirect" url="http://secondsite.org/{R:1}" redirectType="Found"/>
      <conditions>
        <add input="{HTTP_HOST}" pattern="^(www\.)?mysite.com$" />
      </conditions>
    </rule>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      相关资源
      最近更新 更多