C# 我的URL不是';t正在使用WEB配置重写

C# 我的URL不是';t正在使用WEB配置重写,c#,asp.net,web-config,C#,Asp.net,Web Config,当前URL: 本地主机:62859/review.aspx?c=football&t=Liverpool 我正在尝试实现的URL 本地主持人:62859/足球/利物浦 我正在使用web配置中的代码来尝试实现这一点 <rule name="Rewrite Review"> <match url="^review/([0-9]+)/([_0-9a-z-]+)" /> <action type="Rewrite" url="?c={R:1}&amp;t={

当前URL:

本地主机:62859/review.aspx?c=football&t=Liverpool

我正在尝试实现的URL

本地主持人:62859/足球/利物浦

我正在使用web配置中的代码来尝试实现这一点

<rule name="Rewrite Review">
  <match url="^review/([0-9]+)/([_0-9a-z-]+)" />
  <action type="Rewrite" url="?c={R:1}&amp;t={R:2}" />
</rule>

这只返回404响应。我做错了什么?


<rule name="rewrite">
  <match url="^([^/]+)/([^/]+)?$" />
<action type="Rewrite" url="/review.aspx?c={R:1}&amp;t={R:2}" appendQueryString="false" />
</rule>

有效。

您了解URL重写的作用吗
localhost:62859/football/Liverpool
是您应该向用户显示的内容(即在HTML中输出)
localhost:62859/review.aspx?c=football&t=Liverpool
是服务器/应用程序所期望的。您的
模式应该尝试匹配用户看到的内容(因为这将被发布回服务器),然后
应该指定如何将匹配的文本转换为服务器期望的内容。你的
看起来不错;您的
需要工作。该模式与URL中的字符不相关。