实现.net伪静态

(本文原本是发在QQ空间里,今天突然看到,就搞到csdn中了,希望能让更多初学者看到,嘿嘿,高手如果觉得不好就不要砸鸡蛋了,呵呵)

好久没敲代码了,闲来无事敲敲,权当练练手。不过却不知道要敲啥东东好,想起以前一直想弄URL伪静态,一直没啥时间,就决定搞这玩意了。

好久没敲了,连那些“蝌蚪文”都快认不清了,老敲错,哎!惭愧呀.......P话少说,进入正题,呼呼....

伪静态----言下之意就是假的静态页面,其实这页面根本不存在的。

首先得用到微软的一个UrlReWriter.dll组件,嘿,乖乖的去下了个,下载地址:http://www.rickel.cn/uploads/DevTools/MSDNURLRewriting.msi      将底下的UrlReWriter.dll引用到解决方案中来。

到IIS中配置,将网站发布到本地,这个发布就不用多说了,然后在网站的根目录下   右键-->属性-->主目录或虚拟目录-->配置-->应用程序配置-->添加【在可执行文件中填入C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll  当然这个前提是.netframework装在C盘,拓展名写入.html(其他静态页面的格式也行),检查文件是否存在的钩钩去掉】这样本地上的IIS配置就搞定了,接下去就是webconfig的配置。

在<configuration>节点下找到<configSections>节点,在这个节点下加入
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />

接着配置重写规则【这里示例的规则为:将如news-discription.aspx?NID=9的页面重写为news-discription-9.html,则访问的时候只需访问news-discription-9.html就行,规则视个人而定.....】,这个要放到跟<system.web>目录同级,具体如下:
  <RewriterConfig>
    <Rules>
      <!--重写规则,可以写多个-->
      <RewriterRule>
        <LookFor>~/news-discription-(.[0-9]*).html</LookFor>

        <SendTo>~/news-discription.aspx?NID=$1</SendTo><!--注:lookfor和sendto是成双出现的-->

      </RewriterRule>
    </Rules>
  </RewriterConfig>

找到<httpHandlers>在这个节点下写入
      <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
      <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

恩,这样就大功告成了,不过原本页面中的源码要稍微修改一下,嘿,将那些链接如news-discription.aspx?NID=9通过代码修改为news-discription-9.html就行了,哈

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值