2010-08-20 89 views
2

我有一个像Asp.net URL重写(正则表达式)

http://somedomain.com/products.aspx?id=1

的网址,我想改写这个像

somedomain.com/productname

其余域中的URL按照提供的方式工作。 像

somedomain.com/forums/categories.aspx

我不希望重写这些其他网址。

+0

什么版本的.NET?你正在使用什么URL重写库? – 2010-08-20 17:37:39

+0

我正在使用此示例, http://www.codeproject.com/KB/aspnet/urlrewriter.aspx 实际上,我是新的url重写,如果有人可以建议我任何其他简单的方法,我会明白, 。 谢谢 – user426594 2010-08-20 18:01:04

+0

鉴于codeproject的例子,你不是在寻找“somedomain.com/product1.aspx”吗?即......即代替“?id = 1”。 – Rusty 2010-08-20 18:43:15

回答

0

做这样的乌尔global.ascx文件从

其中u [R重定向此,有页面u能做到这样有

的Response.Redirect( “somedomain.com/productname”);

void Application_BeginRequest(object sender,EventArgs e) string fullOrigionalpath = Request.Url.ToString();

string[] words = fullOrigionalpath.Split('/'); 
    string d = words[words.Length-1].ToString(); 
    if (!d.EndsWith("aspx")) 
    { 
     Context.RewritePath("/products.aspx?id=1); 
    } 

} 
+0

它不仅仅是产品页面, 其他页面也可以稍后重写。 所以,这就是为什么我想通过正则表达式来处理这个问题。 \t \t \t \t /URLRewriterM/s/h/o/w/(.*)\.html \t \t \t \t /URLRewriterM/show.aspx?id=$1 \t \t \t user426594 2010-08-21 11:27:53