读书人

用Global.asax文件实现Url重写解决思路

发布时间: 2013-11-25 13:22:27 作者: rapoo

用Global.asax文件实现Url重写
我在Global.asax的Application_BeginRequest里加入代码
String oldUrl = System.Web.HttpContext.Current.Request.Url.ToString();
if (oldUrl.Contains("aaa"))
{

HttpContext.Current.RewritePath("~/Default.aspx");
}
调试时,输入网址aaa/a.htm可以跳转到Default.aspx页面,但发布到IIS上,却不会跳转到Default.aspx页面。我用的是win7 + iis7.5,开发环境为vs2010,请问这个可以怎么解决?
[解决办法]

引用:
我在Global.asax的Application_BeginRequest里加入代码
String oldUrl = System.Web.HttpContext.Current.Request.Url.ToString();
if (oldUrl.Contains("aaa"))
{

HttpContext.Current.RewritePath("~/Default.aspx");
}
调试时,输入网址aaa/a.htm可以跳转到Default.aspx页面,但发布到IIS上,却不会跳转到Default.aspx页面。我用的是win7 + iis7.5,开发环境为vs2010,请问这个可以怎么解决?


7.5 应该是有映射的,看看是否是经典的?调成集成的试试!
[解决办法]
部署之后,只能处理aspx、ashx、asmx等等后缀。

.htm后缀的请求根本不给global.asax处理,连asp.net都捞不到这个处理。
[解决办法]
可以看一下手工配置方式: http://msdn.microsoft.com/zh-cn/magazine/dd347546.aspx#id0070014

手工配置修改了IIS行为,才行。

读书人网 >asp.net

热点推荐