.net伪静态页应用

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 04:45 点击:

当然,程序直接生成静态页面可以实现的 
但是那样要生成很多这种页面以及文件夹 
而且在数据量大的情况下生成是很浪费时间的 
在这种情况下就要实现url重写了,当然就很多种方法 
下面介绍的是微软的URLRewriter方法 

1.首先下载URLRewriter.dll,下载之后直接复制到你的网站的bin目录中 
2.配置你的web.config文件 
在<configuration>节点下加 
<configSections> 
  <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /> 
  </configSections> 

<RewriterConfig> 
  <Rules> 
  <!--一下三个是我自己写的测试的,当然你可以写很多个 --> 
  <!--这个是把aspx?id=1">http://localhost:2001/default.aspx?id=1 生成http://localhost:2001/d1.aspx 这种页面 --> 
  <RewriterRule> 
  <LookFor>~/d(\d{0,5})\.aspx</LookFor> 
  <SendTo>~/default.aspx?ID=$1</SendTo> 
  </RewriterRule> 
  <!--这个是把http://localhost:2001/article.aspx?id=1 生成http://localhost:2001/1/a.html 这种页面 -->
  <RewriterRule> 
  <LookFor>~/(\d{0,5})/a\.html</LookFor> 
  <SendTo>~/article.aspx?id=$1</SendTo> 
  </RewriterRule> 
  <!--这个是把http://localhost:2001/test.aspx?id=1 生成http://localhost:2001/1/ 这种页面 --> 
  <RewriterRule> 
  <LookFor>~/(\d{0,5})/</LookFor> 
  <SendTo>~/test.aspx?id=$1</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="*" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> 

  </httpHandlers> 

3.好了,基本上就可以了,但是还有重要一点千万不要忘了 
以上有三种情况的url生成 
针对第一种情况,第一第二步配置完就可以实现了 
可对第二种和第三种url情况,还需要进行一下配置 
先说第二种情况:因为咱们重写的是.html后缀 
所以需要在iis中进行.html映射,方法如下: 
右击站点-属性-主目录-配置 
在打开页面找扩展名.aspx,双击之后弹出窗口内复制可执行文件 
一般是C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 
复制完之后点添加在弹出窗口把内容复制到可执行文件 
扩展名.html当然这个你可以任意写了,不过要和 
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> 
保持一致. 
同时去掉确认文件是否存在,确定即可 
完成之后输入http://localhost:2001/1/a.html 
是不是就可以访问了?爽吧 

下面介绍第三种情况,生成目录 
这里面稍微有点复杂,同样配置iis 
还是在那个弹出窗口,点插入 
把复制的文件即C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 
复制到可执行文件框内,同时去掉确认文件是否存在,确定即可 
这样输入http://localhost:2001/1/,是不是就可以访问了?嘿嘿 
可能读者会有疑问了:现在设置的这个和第二种设置的有什么区别? 
现在设置的其实是进行*映射,即把所有的文件都进行url重写处理程序处理 
这时其实就可以把.html 以及自带的.aspx等映射去掉,同样可以生成.html/.aspx/ url 
好了,如果还想其他的扩展大家就尽情扩展吧。 

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 浅析.NET下XML数据访问新机制
      • asp.net 面试+笔试题目第1/2页
      • C# 邮件地址是否合法的验证
      • C#高级编程:数据库连接[1]
      • asp.net 设置GridView的选中行的实现代码
      • 经典C++程序1
      • IIS 自动回收导致后台定时器失效的问题解决
      • ASP.NET&#160;GridView列表代码示例
      • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1