• aspx中伪静态的实现


    从提高网站的访问速度和搜索引擎的收录考虑,有时候我们需要把动态的aspx转换为静态的html,这种转换分为两种:伪静态和真静态!这两种各有优劣,今天先不考虑这个,讲讲伪静态是怎么完成的

    首先我们要有Mircosoft URLRewriter.dll 如果没有就从网上下载,然后将他们考到项目的bin下面

    <?xml version="1.0"?>
    <configuration>
      <configSections>
        <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
      </configSections>

      <RewriterConfig>
            <Rules>
                <RewriterRule>
                    <LookFor>~/web/new/type/(.[0-9]*)\.html</LookFor>
            <SendTo>~/web/new.aspx?id=$1</SendTo>
                </RewriterRule>

    <RewriterRule>
                    <LookFor>~/web/new/News/(\d+)\.html</LookFor>
            <SendTo>~/web/new.aspx?id=$2</SendTo>
                </RewriterRule>
          <RewriterRule>
            <LookFor>~/web/index.html</LookFor>
            <SendTo>~/web/index.aspx</SendTo>
          </RewriterRule>
            </Rules>
        </RewriterConfig>
        <system.web>
        <httpHandlers>
          <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
          <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

          <add verb="*" path="*.shtml" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
        </httpHandlers>
            <compilation debug="true"/></system.web>
    </configuration>

    如果是根目录下面的页面在页面中可以写成Default.html

    而在配置文件中就要写成

    <RewriterRule>
                    <LookFor>~/Default.html</LookFor>
            <SendTo>~/Default.aspx</SendTo>
                </RewriterRule>

    蓝色的部门很重要,可以根据需要添加修改;

    如果是根目录下面的页面在页面中可以写成Default.html

    而在配置文件中就要写成

    <RewriterRule>
                    <LookFor>~/Default.html</LookFor>
            <SendTo>~/Default.aspx</SendTo>
                </RewriterRule>

    蓝色的部门很重要,可以根据需要添加修改;

    如带参数的时候ZbServiceinfo.aspx?infoid=1

    配置文件:数字:<LookFor>~/ZbServiceinfo(\d+)\_(\d+)\.htm</LookFor>
              <SendTo>~/ZbServiceinfo.aspx?infoid=$1&amp;page=$2</SendTo>

    字符串:<LookFor>~/ZbServiceinfo_(.*).htm</LookFor>
              <SendTo>~/ZbServiceinfo.aspx?infoid=$1</SendTo>

    &amp:表示多个参数时的连接符号

    网页中设置:ZbServiceinfo+参数+".htm"

    发布到IIS是时候,也要做相关处理

    右键点我的电脑-->管理-->展开'服务和应用程序'-->internet信息服务-->找到你共享的目录-->右键点击属性 -->点击'配置'-->映射下面 -->找到.aspx的可执行文件路径复制路径-->添加-->粘贴路径-->扩展名为".html"-->然后把检查文件是否存在的勾去掉这样就可以了,如果遇到“确定”按钮失效,可以用键盘事件编辑路径即可解决

    另外一种方法就是添加urlrewritingnet.urlrewritingnet.dll

    web.config:

    <configSections>
      <section name="urlrewritingnet" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"/>
     </configSections>
     <urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="default.aspx" xmlns="
    http://www.urlrewriting.net/schemas/config/2006/07">
      <rewrites>
       <add name="Rule1" virtualUrl="^~/(.*)/Default_(\d+)_(\d+).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/$1/Default.aspx?type=$2&amp;page=$3" ignoreCase="true"/>
       <add name="Rule2" virtualUrl="^~/(.*)Default.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/$1Default.aspx" ignoreCase="true"/>
       <add name="Rule3" virtualUrl="^~/chanpin/chanpin_(\d+)_(\d+).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/chanpin/chanpin.aspx?type=$1&amp;id=$2" ignoreCase="true"/>
        </rewrites>
      </urlrewritingnet>

     <httpModules>
       <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
      </httpModules>

    网上的实例代码很多,可以看看..

    多思考,多创新,才是正道!
  • 相关阅读:
    阿里云能耗宝助力华聚公司实现产品绿色升级
    最佳实践|从Producer 到 Consumer,如何有效监控 Kafka
    漫画 | 新一代软件架构会影响到谁?
    MongoDB :第七章:总结一下学习MongoDB的心得
    面试:第十二章:所有总结
    技术汇总:第十二章:技术总览
    接口文档:第二章:使用Swagger接口的文档在线自动生成
    为何你炒的肉又硬又柴?原来是忽略了关键1步,大厨教你正确做法
    IKEA bugs All In One
    Korean Keyboard All In One
  • 原文地址:https://www.cnblogs.com/shuang121/p/1961623.html
Copyright © 2020-2023  润新知