日期:2014-05-18  浏览次数:20525 次

有谁有个url重写的例子阿,找个地址下个看看谢谢啦,
讲讲怎么配置也可以
还没有使用过呢


------解决方案--------------------
给你一个简单例子。在global.asax中写:

protected void Application_BeginRequest(object sender, EventArgs e)
{
string oldUrl = HttpContext.Current.Request.RawUrl;

string pattern = @ "^(.+)/(\d+),(\d+)(\?.*)*$ ";
string replace = "$1/bussiness.aspx?num1=$2&num2=$3 ";

if (Regex.IsMatch(oldUrl, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled))
{
string newUrl = Regex.Replace(oldUrl, pattern, replace, RegexOptions.Compiled | RegexOptions.IgnoreCase);
this.Context.RewritePath(newUrl);
}
}


配置你的网站虚拟目录默认页面某个aspx页面,例如常见asp.net网站配置为default.aspx页面为默认页面。

这样,所有类似于这个网站“1234,5678”这样的访问就访问到“bussiness.aspx?num1=1234&num2=5678”上。

如果需要将非asp.net页面让应用程序处理,当然需要在iis上设置,让本来是非asp.net请求由asp.net过滤程序处理。

如果你写复杂的程序,url重写有很多路径处理上的问题,要谨慎。