【问题标题】:Rewrite Rule using map AND stripping certain parameters使用映射重写规则并剥离某些参数
【发布时间】:2011-07-08 15:11:02
【问题描述】:

我对这一切都很陌生,所以请在你的解释中保持基本。

我工作的地方刚刚更换了商店软件,所以我有一系列需要按摩的 URL,因为谷歌、人们等继续使用旧链接。

旧链接如下所示: http://mydoman/usedateb.aspx?User_ID=38482&Category_ID=127

我知道如何做一个重写映射来改变 http://mydomain/usedateb.aspx?Category_ID=127http://mydomain/hoopy-new-tour-name.aspx

而且我知道如何执行重写规则以从 Url 中删除 User_ID=xxx&。

我的问题是让他们一起工作。我需要取出 User_ID(因为它是任意分配的)并通过地图发送以更改为 hoopy-new-tour-name。

我已经设置了重写规则以删除列表顶部的用户和列表中较低的重写映射规则,但我最终在http://mydomain/usedateb.aspx?User_ID=38482&Category_ID=127

如果有帮助,我的 web.config 有类似的行

<add key="UseDateB.aspx?Category_ID=127" value="/success.htm" />

对于地图和

<rule name="Remove extra parameters - UserID">
      <match url="(.*)User_ID=([0-9]+&amp;)(.*)" />
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
      <action type="Rewrite" url="{R:1}{R:3}" appendQueryString="false" />
</rule>

去除不需要的参数。

我需要地图的原因是 Cat 127 可能是 hoopy tour,但 128 可能是 frood tour。其中有大约 500 个需要重新映射的列表,但我们必须从传入的 URL 中获取额外的参数才能使其工作。

感谢所有帮助!如果我完全错了,请也告诉我。

【问题讨论】:

  • 您是否只需根据 Category_ID 将:http://mydoman/usedateb.aspx?User_ID=38482&amp;Category_ID=127 重写为 http://mydomain/hoopy-new-tour-name.aspx ?还是我有什么问题?

标签: iis iis-7 url-rewriting


【解决方案1】:

看看这个:

         <rules>
            <clear />
            <rule name="RedirectToCategory" stopProcessing="true">
                <match url="UseDateB.aspx" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{QUERY_STRING}" pattern="Category_ID=127" />
                </conditions>
                <action type="Redirect" url="http://mydomain/hoopy-new-tour-name.aspx" />
            </rule>
            <rule name="RemoveUserID" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{QUERY_STRING}" pattern="(.*)(User_ID=[0-9]*)(.*)" />
                </conditions>
                <action type="Redirect" url="{R:0}?{C:1}{C:3}" appendQueryString="false" />
            </rule>
        </rules>

第一个规则基于类别重定向,第二个规则删除 User_ID。尝试一下,如果您想做其他事情,请说明它是什么。

【讨论】:

  • 完美!这让我在结束我的项目的路上做得很好。谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-11-01
  • 2015-10-12
  • 1970-01-01
  • 2012-09-27
  • 1970-01-01
  • 2010-12-05
  • 1970-01-01
相关资源
最近更新 更多