asp.net url用dynamic参数重写

时间:2016-09-20 13:16:05

标签: c# asp.net url-rewriting

我使用asp.net C#并且需要制作一个URL重写规则,将长URL映射到一个简短的URL,并保留动态URL参数(guid):

示例:

第一个URL(短)应该映射/重定向到下面的长URL:

简短网址:

http://www.domain.com/campaign.aspx?guid=db7b1e74-f45a-4756-945f-33e812534c09

长网址:

http://www.domain.com/templates/sections/user/misc/campaign/freemember.aspx?guid=db7b1e74-f45a-4756-945f-33e812534c09

GUID参数是动态创建的,因此我无法在重写规则中对其进行硬编码。希望有人可以帮我创建这个重写规则:)

2 个答案:

答案 0 :(得分:0)

我之前没有这么做过,但也许这对你有用。

https://sourceforge.net/projects/shorturl-dotnet/

答案 1 :(得分:0)

我解决了这个问题:

<rewrite>
  <rules>
    <rule name="RewriteUrl">
      <match url="^campaign/([_0-9a-z-]+)" />
      <action type="Rewrite" url="/templates/sections/user/misc/campaign/freemember?id={R:1}" />
    </rule>
  </rules>
</rewrite>