http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/msdnurlrewriting.msi
这里包含着urlrewriter和actionlessform,如果有必要,可以进行重写,编译后将.dll引入到项目中.
我先对webconfig进行配制.web.config 文件中指明要使用 http 模块还是 http 处理程序来执行 url 重写。这里使用了http 模块进行处理
<configsections>
<section name="rewriterconfig" type="urlrewriter.config.rewriterconfigserializersectionhandler, urlrewriter"/>
</configsections>
<httpmodules>
<add type="urlrewriter.modulerewriter, urlrewriter" name="modulerewriter"/>
</httpmodules>若使用http 处理程序,则在httphandlers中进行配制
<httphandlers>
<add verb="*" path="*.asp教程x"
type="urlrewriter.rewriterfactoryhandler, urlrewriter" />
</httphandlers>
除了指定使用 http 模块还是 http 处理程序执行重写外,web.config 文件还包含重写规则:重写规则由两个字符串组成:要在被请求的 url 中查找的模式;要替换此模式的字符串(如果找到)。在 web.config 文件中,此信息是使用以下语法表达的:
<rewriterconfig>
<rules>
<rewriterrule>
<lookfor>要查找的模式</lookfor>
<sendto>要用来替换模式的字符串</sendto>
</rewriterrule>
<rewriterrule>
<lookfor>要查找的模式</lookfor>
<sendto>要用来替换模式的字符串</sendto>
</rewriterrule>
...
</rules>
</rewriterconfig>
每个重写规则均由 <rewriterrule> 元素表达。要搜索的模式由 <lookfor> 元素指定,而要替换所找到的模式的字符串将在 <sentto> 元素中输入。这些重写规则将从头到尾进行计算。如果发现与某个规则匹配,url 将被重写,并且对重写规则的搜索将会终止。
在 <lookfor> 元素中指定模式时,请注意,要使用正则表达式来执行匹配和字符串替换。由于模式是正则表达式,应确保转义正则表达式中的任何保留字符。(一些正则表达式保留字符包括:.、?、^、$ 及其他。可以通过在前面加反斜杠(如 .)对这些字符进行转义,以匹配文字句点。)
在configuration下加入一结点
<rewriterconfig>
<rules>
<rewriterrule>
<lookfor>~/(d{4})/(d{2})/(d{2}).aspx</lookfor>
<sendto>~/showblogcontent.aspx?year=$1&month=$2&day=$3</sendto>
</rewriterrule>
<rewriterrule>
<lookfor>~/(d{4})/(d{2})/default.aspx</lookfor>
<sendto><![cdata[~/showblogcontent.aspx?year=$1&month=$2]]></sendto>
</rewriterrule>
<rewriterrule>
<lookfor>~/(d{4})/default.aspx</lookfor>
<sendto>~/showblogcontent.aspx?year=$1</sendto>
</rewriterrule>
<rewriterrule>
<lookfor>~/modalpopupextender</lookfor>
<sendto>~/modalpopupextender.aspx</sendto>
</rewriterrule>
</rules>
</rewriterconfig>
此时输入modalpopupextender时,就导向了modalpopupextender.aspx页面