zoukankan      html  css  js  c++  java
  • mvc路由配置.html结尾的伪静态

        mvc 标准的写法 通常是(http://localhost:8149/Home/Index) 路由配置如下:

        有时候需求 如 http://localhost:8149/Home/Index 改为http://localhost:8149/index.html 让其看起来更加像一个静态网站

       

           //配置首页 伪静态 路由
                routes.MapRoute("pc_index", "index.html", new { controller = "Home", action = "Index" });
    

     然而  

    解决方式一(不建议)修改 Web.config 文件  

    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true" >
    </modules>
    </system.webServer>
    

    这种方式强烈不建议:
    1、这些问题的形式是使所有注册的HTTP模块在每个请求上运行,而不仅仅是托管请求(例如.html)。 这意味着模块将永远运行.jpg .gif .css .aspx等
    2、浪费资源
    3、并具有可能导致错误的全局效应

    更好的解决方案(方式二)

    <system.webServer>
        <modules > 
          <remove name="UrlRoutingModule-4.0" />
          <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
        </modules>
      </system.webServer>
    

    更好的解决方案(方式三)

     <system.webServer> 
        <handlers>
          <add  name="htmlHandler" verb="GET,HEAD" path="*.html" type="System.Web.StaticFileHandler"/>
        </handlers>
      </system.webServer>
    

      

      

  • 相关阅读:
    Docker学习笔记
    Linux学习笔记
    C#
    30分钟掌握 C#7
    30分钟掌握 C#6
    Redmine部署到Windows Azure
    关于企业管理系统集成那些事
    变量内存分配知多少
    流行Java IDE工具大比拼[转]
    pgpool 流复制主从安装与配置(高可用、读写分离)[转]
  • 原文地址:https://www.cnblogs.com/LoveTX/p/7701689.html
Copyright © 2011-2022 走看看