代码之家  ›  专栏  ›  技术社区  ›  Ben Hoffman

使用IIS7的重写模块和数据库

  •  4
  • Ben Hoffman  · 技术社区  · 14 年前

    • www.example.com?foo.aspx
    • www.example.com?foo.aspx?ID=C&utm\u源=Foo

    这些URL需要分别转到以下页面:

    • www.example.com/ProductA
    • www.example.com/ProductB?utm_source=Foo

    我可以通过在我的web.config中使用来实现这一点,但是有太多我更愿意在数据库中实现。我已经能够部分成功地切换到数据库使用的文章 http://learn.iis.net/page.aspx/803/using-custom-rewrite-providers-with-url-rewrite-module/

    我的问题是,我的所有最初的例子重定向到www.example.com/ProductA. 就好像他们忽略了查询字符串一样。你知道怎么解决吗?我在配置文件中的规则是:

    <rule name="DbProviderTest" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
        <add input="{DB:{R:1}}" pattern="(.+)" />
        </conditions>
        <action type="Redirect" url="{C:1}" appendQueryString="false" />
    </rule>  
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   Carlos Aguilar Mares    14 年前

    <add input="{DB:{R:1}?{QUERY_STRING}}" pattern="(.+)" />