webconfig配置
<section name="urlrewritingnet"
restartOnExternalChanges="true"
requirePermission ="false"
type="UrlRewritingNet.Configuration.UrlRewriteSection,
UrlRewritingNet.UrlRewriter" />
configSections节点下
<httpModules>
<add name="UrlRewriteModule"
type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</httpModules>
<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="index" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
<rewrites>
<add name="Rewrite1" virtualUrl="~/explore/awards" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/explore/Award.aspx" ignoreCase="true" />
<add name="Rewrite2" virtualUrl="~/explore/brand" rewriteUrlParameter="ExcludeFromClientQueryString"
</rewrites>
</urlrewritingnet>
name不能相同 与顺序有关 如果有地址/explore和/explore/awards 不能把/explore放在前面 有时候绝对路径和相对的不同 会影响样式和图片
后台方法 反向处理
public static string UrlRewriter(string Url)
{
object ob = System.Configuration.ConfigurationManager.GetSection("urlrewritingnet");
int counts = (((UrlRewritingNet.Configuration.UrlRewriteSection)(System.Configuration.ConfigurationManager.GetSection("urlrewritingnet"))).Rewrites).Count;
for (int i = 0; i < counts; i++)
{
string virtualUrl = ((UrlRewritingNet.Configuration.UrlRewriteSection)(System.Configuration.ConfigurationManager.GetSection("urlrewritingnet"))).Rewrites[i].Attributes["virtualUrl"].ToString();
string destinationUrl = ((UrlRewritingNet.Configuration.UrlRewriteSection)(System.Configuration.ConfigurationManager.GetSection("urlrewritingnet"))).Rewrites[i].Attributes["destinationUrl"].ToString();
string Dizhi = Url;
string destinationUrl2 = destinationUrl;
if (Url.Contains("?"))
{
Dizhi = Url.Split('?')[0];
}
//排除底部的链接 因为是公用个页面 处理下
if (destinationUrl.Contains("?"))
{
destinationUrl2 = destinationUrl.Split('?')[0].ToString();
}
if (Dizhi.ToLower() == destinationUrl2.ToLower())
{
if (Url.Contains("?"))
{
virtualUrl = virtualUrl + "?" + Url.Split('?')[1];
}
return virtualUrl;
}
}
return Url;
}
如果有参数 一样带过去 配置中只写地址就行
资源中心中有dll下载