在IIS下使用UrlRewritingNet.UrlRewriter.dll
1.将UrlRewritingNet.UrlRewriter.dll拷到bin目录下
2.在web.config里进行相关的配置
<?xmlversion="1.0"?>
<configuration>
<configSections>
<sectionname="urlrewritingnet"
restartOnExternalChanges="true"
requirePermission="false"
type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"/>
</configSections>
<urlrewritingnet
rewriteOnlyVirtualUrls="true"
contextItemsPrefix="QueryString"
defaultPage="default.aspx"
defaultProvider="RegEx"
xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
<rewrites>
<addname="Rewriter"
virtualUrl="^~/(.*)/Detail(.*).htm"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/View.aspx?type=$1&id=$2"
ignoreCase="true" />
</rewrites>
</urlrewritingnet>
<appSettings/>
<system.web>
<httpModules>
<addname="UrlRewriteModule"
type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
</httpModules>
<compilationdebug="true"/>
</system.web>
</configuration>
在重写规则中:(.*)表示参数,也就是重写后的地址格式,比如Detail(.*).aspx就可以将Detail1.Aspx转成真实地址。$1表示第1个参数。这里参数是遵循规则式写法的,比如(.[0-9]*)表示数字。
此外还要在IIS\你的站点\属性\主目录\配置\映谢 加入一个和aspx 页面的配置相同的扩展名项htm。注意“确认文件是否存在”不要勾选,否则会出现找不到文件。
最后一步是将Aspx页中输出的地址那里改成相应的重写地址,比如<a href=Detail<%# DataBinder.Eval(Container,"DataItem.ID")%>.htm>