我有一个Global.ascx,我写了一个简单的url writer模块:
void Application_BeginRequest(object sender, EventArgs e) { try { string strPath = Context.Request.Url.AbsoluteUri; string[] sections = strPath.Split('/'); int len = sections.Length; string strExtention = sections[len - 1].Split('.')[1]; if (strExtention.ToLower().TrimEnd().Equals("xml")) { if (sections[len - 2].Equals("ATM")) Context.RewritePath("~/Include/XML Files/Orders/TMP/" + sections[len - 1]); else Context.RewritePath("~/Include/XML Files/Orders/" + sections[len - 1]); } } catch { } }
它在本地工作但它在主机中不起作用我怎么能为此实现处理程序?
Server.Transfer也不起作用。
答案 0 :(得分:1)
你走下模块的路线是对的。但是,不是Context.RewritePath()
使用Response.Redirect()
,而是简单地向浏览器返回3xx消息,该消息将其请求重定向到新URL。这应该适用于任何实施的地方。