【问题标题】:Web Config RedirectsWeb 配置重定向
【发布时间】:2017-08-21 13:27:18
【问题描述】:

我有来自我网站的链接,我们将它们命名为:www.mysite.com.au/fly-cruise and www.mysite.com.au/fly-cruise/some-deal

我希望这两种类型的 URL 都返回到我的新页面: www.mysite.com.au/Packages/FlyCruise.

我可以在我的 Web 配置文件中使用以下内容使第一个工作正常:

<rewrite>
  <rewriteMaps>
    <rewriteMap name="flycruise">
      <add key="/fly-cruise" value="/Packages/FlyCruise/" />
    </rewriteMap>
  </rewriteMaps>
  <rules>
    <rule name="Redirect rule1 for flycruise">
      <match url=".*" />
      <conditions>
        <add input="{flycruise:{REQUEST_URI}}" pattern="(.+)" />
      </conditions>
      <action type="Redirect" url="{C:1}" />
    </rule>
  </rules>
</rewrite>

但我不确定如何在fly-cruise/ 之后指定任何内容。

我需要单独的规则来执行此操作吗?另外,指代 URL 的尾随部分的正确术语是什么?

【问题讨论】:

    标签: c# url-rewriting web-config


    【解决方案1】:

    如果您想重定向所有以/fly-cruise 开头的网址以及之后的任何内容。示例:

    /fly-cruise/fly-cruise/abc/fly-cruise/bcd

    您可以为此使用单一规则:

    <rewrite>
        <rules>
            <rule name="Redirect rule for flycruise">
                <match url="^fly-cruise" />
                <action type="Redirect" url="/Packages/FlyCruise" />
            </rule>
        </rules>
    </rewrite>
    

    【讨论】:

    • 绝对传奇!这正是我想要的,谢谢!
    • 如果我想保留尾随 /fly-cruise 的内容,我该怎么做?例如,如果我希望 fly-cruise/this-deal 重定向到 /Packages/FlyCruise/this-deal?
    • @BigD 应该是这样的&lt;rule name="Redirect rule for flycruise"&gt; &lt;match url="^fly-cruise(.*)" /&gt; &lt;action type="Redirect" url="/Packages/FlyCruise{R:1}" /&gt; &lt;/rule&gt;
    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 2019-11-15
    • 2020-09-25
    • 2012-06-05
    • 2023-03-11
    • 2016-12-28
    • 2015-02-27
    • 1970-01-01
    相关资源
    最近更新 更多