zoukankan      html  css  js  c++  java
  • mvc 后缀 路由 伪静态

    当对接第三方站长爬虫时,要求以.html结尾,项目是mvc4实现的,修改路由 

      routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}.html",
                    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                );

    访问报错404 ,

    解决方案1:

    于是网上找解决方法,不少页面推荐

     <modules runAllManagedModulesForAllRequests="true" />
    解决方案2:
    但是有人反对,
    http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html
    大意是说会造成资源的浪费,还会导致潜在的威胁(本人英文不好,仅能理解大概,详细请看原文)在原文中给出了解决方案:
    <modules>
      <remove name="UrlRoutingModule-4.0" />
      <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
      <!-- any other modules you want to run in MVC e.g. FormsAuthentication, Roles etc. -->
    </modules>
    经测试可行,
    解决方案3:
    http://www.cnblogs.com/TeyGao/archive/2012/06/01/2530743.html
    这里提供了
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="false" />
        <handlers>
          <add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
        </handlers>
      </system.webServer>
    
    

    对需要静态化的Action上添加属性标签

    [StaticFileWriteFilter]
    public ActionResult Index(int ArticleId,int pageIndex)
    
    
    当扩展不同的后缀时,  要 添加对应后缀 likepath="*.html"
     
    代做毕业设计和论文 私活, 需要.net,asp.net ,mvc ef cs 客户端,bs 网站项目开发的请私信我,
  • 相关阅读:
    目标检测中roi的有关操作
    JavaScript高级程序设计读后感(一)
    手机app后台初学
    DTO数据传输对象
    数据库设计系列之四--ER图
    数据库设计系列之三
    数据库设计系列之二
    数据库设计系列之一
    Linux命令大全
    Linux登录密码修改
  • 原文地址:https://www.cnblogs.com/duguzhenglong/p/5969792.html
Copyright © 2011-2022 走看看