ASP.. NET重写web.config中的规则

本文关键字:规则 config web NET 重写 ASP | 更新日期: 2023-09-27 18:12:47

我试图重定向

/键/文本或者

/键/网络。ASPX

重定向?key=KEY&url=TEXT或重定向?key=KEY&url=WEB。ASPX。

我设法为/KEY获得成功,我在我的web.config中写了以下内容

<match url="^([a-zA-Z0-9_-]+)$" ignoreCase="false" />
<action type="Rewrite" url="/redirector.aspx?key={R:1}" appendQueryString="false" />

然而,无论我试图匹配/TEXT或/WEB的URL。我没能得到ASPX。我甚至尝试过

<match url="^([a-zA-Z0-9_-]+)(''/)([a-zA-Z0-9_-]+)$" ignoreCase="false" />
<action type="Rewrite" url="/redirector.aspx?key={R:1}&url={R:2}" appendQueryString="false" />

谁能指出以下请求中的错误?

谢谢!

ASP.. NET重写web.config中的规则

<match url="^([a-zA-Z0-9_'-]+)/+([a-zA-Z0-9_'-'.]+)$" ignoreCase="false" />
<action type="Rewrite" url="/redirector.aspx?key={R:1}&amp;url={R:2}" />

查看差异

  • mdash;和。字符必须转义,因为它们是特殊字符
  • 你不必转义下面的字符/
  • 每次捕获都是必需的,因此您可以匹配/KEY/TEXT并忽略/KEY/
  • 之类的url。
  • 代替&,使用xml实体&amp;

这是一个重写规则,这意味着你仍然可以在浏览器的导航栏中看到url。如果你想重定向到重定向。那么你必须使用type="Redirect"