zoukankan      html  css  js  c++  java
  • 需要重写URL但请求的目录不存在报404

    用的是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)。

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

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

  • 相关阅读:
    C# 结构和类
    c# 接口
    C# 抽象类和密闭方法
    C# 虚方法、override和new
    Pullword 分词工具
    tk简单使用
    C# 值传参和引用传参
    C# 枚举类型
    vim笔记
    Git笔记
  • 原文地址:https://www.cnblogs.com/yaotome/p/9382087.html
Copyright © 2011-2022 走看看