设为首页 收藏本站
查看: 953|回复: 0

.net 用URLRewriter 实现 伪静态 2003 iis配置/win7 iis配置

[复制链接]

尚未签到

发表于 2015-5-18 08:49:42 | 显示全部楼层 |阅读模式
  DEMO下载地址:http://files.iyunv.com/sjns/URLRewriterDemo.rar
  URLRewriter.dll下载 :http://files.iyunv.com/sjns/URLRewriter.rar
  1,添加URLRewriter.dll引用到bin目录下
  
  2,在web.config里的加入如下部分
  
   
   
     
  
  3,在中的节点里加入如下配置
  
      
      
      
  
  4,配置重写规则(以一代码复制到   上面。如下结构)
  
   
      
        ~/index.html
        ~/default.aspx
      
      
        ~/news/details_(/d+)_(/d+).html
        ~/news/details.aspx?tid=$1&nid=$2
      
      
        ~/news/index.html
        ~/news/default.aspx
      
      
        ~/news/list_(/d+).html
        ~/news/list.aspx?tid=$1
      
      
        ~/(.*).html
        ~/$1.aspx
      
   
   
  
  .. .........................................
  ...........................................
  
  标签解释
  :此标签中是伪装后的地址
  :此标签中值:当浏览器访问伪装地址时,所指向的地址 当访问 xxxxx.html 其实是访问的yyyyy.aspx
  
  
  5,修改IIS配置
  重写后的页面在程序里运行没问题,比如在vs里运行后讲地址栏的url改掉
  http://localhost:4814/atbouus.aspx手动改为http://localhost:4814/atbouus.html
  没问题,可以运行,但是在IIS里配置虚拟目录后,再运行改掉路径
  http://localhost/nextuntil/aboutus.aspx改为http://localhost/nextuntil/aboutus.html
  发现出错勒,这是因为aboutus.html页面根本不存在,所以需要对IIS配置稍作修改
  
  
2003 iis配置
  虚拟目录右键>>>属性>>>(选项卡第一个|虚拟目录>共享位置>配置)>>>映射
  点击添加效果如下图:
http://hi.iyunv.com/attachment/201006/26/6103993_1277560248n8Kt.png
  
  
win7中IIS配置  

选中你的站点比如website ,并且切换到功能视图。双击【处理程序映射】在打开窗口右侧的操作栏目下做如下操作。(3、4可以不做,如果不行时,再把3、4步骤加上)
http://www.iyunv.com/sjns/admin/
1,【添加脚本映射】-路径为:*.html.可执行文件为:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 注意:如果你的网站是2.0。可执行文件为:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 。名称:任意,比如:html.
2, 【添加通配符脚本映射】 请求路径为*。可执行文件为:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,名称任意,比如:aspnet.
3,【托管处理程序映射】(路径:*  可执行文件:System.Web.UI.PageHandlerFactory 名称 任意 比如Html-Integrate)
4, 双击website站点切换到站点功能视图。然后双击模块,打开窗口之后在右侧的操作栏目下面,单击【添加托管模块】-》名称:任意 如aspnet  类型:URLRewriter.ModuleRewriter 并且 把【仅针对向asp.net 应用程序或托管处理程序发出请求调用】前面的选项 勾上。(记住一定要勾上)。
5 ,最后一步:双击iis7.0或7.5的应用程序池。在应用程序池列表中找到【aspnet】应用程序池。双击打开之后。将aspnet应用程序池的【托管管道模式】设置为经典模式。  
  
  
  
  ,关于重写规则
  里面为配置后的地址,才是真正访问的地址
  1.上面的例子中给出了一些比较常见的重写规则,比如:default.aspx->index.html
  一般用在首页的重写
  2.如果很多页面都是.aspx并且没有传参可以通用一个重写规则,上面例子配置规则里最后一个
  但是它必须放在其他规则后面,这个可以根据运行顺序理解
  3.涉及到参数传递的,1个参数或者多个参数的,上面也有,参数间用$amp;隔开
  主要其实就是正则的使用勒(我正则也不太好,所以都很简单的规则做例子勒)
  ,里配置说明
  这里其实只有2句,需要说明的是,这里的例子配置的重写规则都是.html的后缀
  而如果项目里有些页面原本的后缀就是.html的话
  会因为配置规则的最后一句造成"干扰"
  譬如有一页面名为sitemap.html原本可以直接访问
  但是由于重写规则的存在,会导致去访问sitemap.aspx,这个页面自然是不存在的
  所以我们需要加上对html的模块配置,就是这里的第二句,注意顺序,道理其实同配置规则里 2 的一样
  ,其他
  其他还有蛮多说法,比如
  1,重写为目录格式像 article/ajax/ 这种
  2,或者实现任意二级域名 等等,后续勒、
  3,重写规则比较多的时候,可以单独建一个xml文件,web.config里配置下指定
  具体操作如下:
  
  
  
   
  然后自己建一个WebReURL.config配置文件
  专门用来写入重写规则,格式如下:
  

  
   
      ~/news/index.html
      ~/news/default.aspx
   
   
      ~/2012/index.html
      ~/2012/default.aspx
   
  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-67935-1-1.html 上篇帖子: Win7 x64 常用软件及开发环境 下篇帖子: win7 exe程序icon消失
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表