我有一个像
的网址catSubcat.aspx?catid=31
它显示板球页面。这个catId来自数据库。 我被要求像
一样来表达它> Cricket
此catName = Cricket存在于数据库中,但它不存在代码隐藏(Web表单)。 我被要求仅在web.config中执行此操作,并禁止触摸aspx和.cs文件。我怎样才能做到这一点。提前谢谢。
编辑后 这是我的重写规则。我想获得/ CRICKET,但在重写时发现错误。
<rewrite>
<rules>
<rule name="Redirect" stopProcessing="true">
<match url="^catSubcat\.aspx$" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^catid=([^=&]+)&title=([^=&]+)$" />
</conditions>
<action type="Redirect" url="catSubcat/{C:1}/{C:2}" appendQueryString="false" />
</rule>
<rule name="Rewrite" stopProcessing="true">
<match url="^catSubcat/([^/]+)/([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="catSubcat.aspx?catid={R:1}&title={R:2}" />
</rule>
</rules>
<outboundRules>
<rule name="Outbound" preCondition="ResponseIsHtml1">
<match filterByTags="A, Form, Img" pattern="^(.*/)catSubcat\.aspx\?catid=([^=&]+)&(?:amp;)?title=([^=&]+)$" />
<action type="Rewrite" value="{R:1}catSubcat/{R:2}/{R:3}/" />
</rule>
<preConditions>
<preCondition name="ResponseIsHtml1">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>