1 Global中配置
protected void Application_BeginRequest(object sender, EventArgs e)
{
string oldUrl = HttpContext.Current.Request.RawUrl;
string pattern = @"/([A-Za-z]*)_([^/]+?).html$";
string replace = "/Test.aspx?q=$1&s=$2";
if (Regex.IsMatch(oldUrl, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled))
{
string newUrl = Regex.Replace(oldUrl, pattern, replace, RegexOptions.Compiled | RegexOptions.IgnoreCase);
this.Context.RewritePath(newUrl);
}
}
2 微软URL重写
在ASP.NET项目的web.config中配置使用
1、先把URLRewriter.dll添加到网站的bin目录下吧 (下载地址:http://download.youkuaiyun.com/detail/cnceohjm/5954289)
2、把下面一行代码添加到如图所示位置
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/([A-Za-z]*)_([0-9]*).html</LookFor>
<SendTo>~/Test.aspx?iid=$1</SendTo>
</RewriterRule>
<LookFor>~/BzInfoRead_([0-9]*)_([0-9]*)_([0-9]*).html</LookFor>
<SendTo>~/BzInfoRead.aspx?iid=$1&bid=$2&sid=$3</SendTo> //3个参数
</RewriterRule>
</Rules>
</RewriterConfig>