寻找薛定谔的猫

导航

 

用的是asp.net webform,在global.asax的application_beginrequest中写的代码

很简单的一个需求,在url中输入http://www.test.com/lci/时,跳转到http://www.test.com/tree/home.aspx

在本地写上这么一句话就OK了

string url = Request.RawUrl.ToLower();

if(url.Contains("/lci"))
{    
      Response.Redirect("/tree/home.aspx");
}

可是在IIS上却总是报404找不到资源

原来,如果ASP.NET没有获得处理请求的机会的话,URL重写引擎就不能对输入的网址请求作出判断

lci这个目录在服务器上并不存在,因此会报404错误

解决的办法是在服务器上创建lci目录,并在下面添加一个空的Default.aspx。因为IIS会检查该目录下的文件看是否包含有默认首页文件名(Default.aspx,Default.htm,Default.asp)。

添加好后,就可以正常跳转了。

我这个是比较笨的做法,应该有更好的解决方法的。

posted on 2018-07-28 15:13  teagueli  阅读(655)  评论(0编辑  收藏  举报