当前位置:  编程技术>.net/c#/asp.net

Asp.Net URL重写的具体实现

    来源: 互联网  发布时间:2014-08-25

    本文导语:  说到不用设置iis,主要是为了实现在虚拟主机或是拿不到iis操作限的时候,不能添加isap又想实现类似于静态化的程序实现方式,先声明,这里最终要实现的效果是,最终可以用 12345.html 替换 show.aspx?id=12345这样的地址访问 也可...

说到不用设置iis,主要是为了实现在虚拟主机或是拿不到iis操作限的时候,不能添加isap又想实现类似于静态化的程序实现方式,先声明,这里最终要实现的效果是,最终可以用

12345.html

替换

show.aspx?id=12345这样的地址访问

也可以实现百度空间的

http://hi./wu1987116

替换

http://hi./index.aspx?UserName=wu1987116

功能,支持任意扩展名及无扩展

程序要调整的部分只有两块。
一是web.config文件。
二是链接地址。
所需urlrewrite.dll

首先下载URLRewriter:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi

下载安装后再bin目录下找到URLRewriter.dll文件

好了开始实施。
第一步:将urlrewrite.dll下载到你的web程序目录里去。哪都行。我是放在bin里面的。然后添加引用,将urlrewrite.dll引用进来。
第二步:修改web.config
这一步要修改几个地方。要注意位置是不同的

1 在web.config文件中加入如下代码,注意要放在下面,
上面不然会出错

代码如下:

  
   
 

其中

代码如下:


用于指定配置节"RewriterConfig"的处理程序类的名称为”URLRewriter.Config.RewriterConfigSerializerSectionHandler”,该类存在于bin目录下的URLRewriter.dll文件中

2 在web.config文件中的system.web节点下加入如下代码

代码如下:


     
     
  

这段代码的意思是:将文件扩展名为.html和任意扩展名(包括无扩展名,不包括*.html,因为这个位置在上面会先处理)的文件的所有 HTTP 请求映射到类 URLRewriter.RewriterFactoryHandler,注意顺序,按从上到下执行,如果path="*"在上面的话,则下面的html映射则无效,下面步骤中有映射到那个页面的设置

3 重写url

        和1一样 ,同样是放在节点下面

     关键就是

代码如下:


   
     
        ~/(.+).html
        ~/Shownews.aspx?ShowID=$1
     
     
        ~/(.+)
        ~/blog.aspx?UserName=$1
     
   
 

效果:当访问http://127.0.0.1/123.html时,实际访问的是http://127.0.0.1/Shownews.aspx?ShowID=123

        访问http://127.0.0.1/任意字符时,实际访问的是http://127.0.0.1/blog.aspx?UserName=任意字符

        注意第2,3步中的映射顺序

其中关键在url的转换

代码如下:

~/(.+).html

~/Shownews.aspx?ShowID=$1

意思是把第一个路径转成另一个路径。其中()中的正则表达式就是第二句中的参数$1 .

同样也可以用$2 $3来表示中第二 第三个()中的参数。

多个参数:

代码如下:


         
               (.*)/TestUrlRe/file(.*)/(.*).html
               ../WebForm1.aspx?id=$2&type=$3
         
         
               (.*)/TestUrlRe/t(.*)/(.*).html
               ../WebForm1.aspx?tid=$2&ttype=$3
         

第三步:在页面程序中可以这样写:
新闻标题

完成上面三个步骤就可以轻松实现URL重写了,不过需要注意的是:如果发布网站的话,你会发现你的URL重写有可能会失效,如果失效的话就需要您设置一下IIS:
打开IIS,主目录-〉配置-〉映射-〉点击“插入”通配符应用程序映射-〉选择“C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll”,然后把勾选去掉(一定要去掉),然后确定。
上面设置完毕之后,就可以正常浏览了。


    
 
 

您可能感兴趣的文章:

  • asp.net输出重写压缩页面文件的实例
  • asp.net URL重写的方法参考
  • asp.net使用URLRewriter.dll进行重写的方法举例
  • Web服务器/前端 iis7站长之家
  • asp.net伪静态(URL重写)代码一例
  • asp.net输出重写压缩页面文件实例代码
  • asp.net URL地址重写(伪静态)学习实例
  • asp.net URLRewriter实现URL重写(伪静态)的方法介绍
  • asp.net不用设置iis实现url重写 类似伪静态路由
  • 在ASP中可以轻易实现,不知道在JSP中能否实现?
  • Linux平台下哪种方法实现ASP好?
  • 求解!Java如何能在多个applet之间实现类似asp的session类!
  • 调试jsp的时如何实现像asp中的response.end的效果
  • 怎么用能让asp实现统计在线人数的功能。在线等待!!!帮忙送分!
  • 在jsp 中如何实现像asp 中的页面弹出式的菜单
  • asp.net 参数不同共用一个页面的实现方法
  • Asp.net防止重复提交的实现方法
  • 用linux做服务器运行ASP.net网站,请问具体怎样实现??
  • ASP.NET MVC3 实现全站重定向的简单方法
  • 在jsp中如何实现与asp中的Request.ServerVariables("SCRIPT_NAME")同等的功能?
  • Jsp中怎么实现类似ASP中split函数的功能?
  • 如何实现ASP中类似Global.asa的功能???
  • jsp中如何实现asp中的response.end,或php中的exit()功能?
  • java实现的asp服务器 OpenASP
  • ASP的功能在JSP中怎么实现呀?谢谢!!!
  • asp去掉html,保留img br p div的正则实现代码
  • asp.net 实现php的md5()函数功能
  • asp.net session实现用户登录的疑问
  • 怎样将Tomcat嵌入IIS中,实现用ASP与JSP都用IIS来做!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ASP.NET之 Ajax相关知识介绍及组件图
  • 我想了解一些关于Java怎样与Asp或Asp.net结合方面在未来发展方向的问题?
  • c#/ASP.NET操作cookie(读写)代码示例
  • asp.net UrlEncode对应asp urlencode的处理方法
  • asp.net判断数据库表是否存在 asp.net修改表名的方法
  • asp.net文字水印功能简单代码
  • jQuery Web Controls ASP.Net
  • ASP.NET 门户平台 Dropthings
  • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)
  • Asp.Net如何将多个RadioButton指定在一个组中
  • 用C#,asp.net 做的网站,能用Linux做服务器吗?
  • asp.net实例 定义和使用asp:AccessDataSource
  • 有没有办法把客户端IP和计算机名记录在asp.net服务器上?
  • asp.net获取用户ip地址公共类
  • asp.net 禁用viewstate(web.config中配置)的方法
  • asp.net读取本地与全局资料文件的代码
  • asp.net button 绑定多个参数
  • Asp.net日历控件显示年和月
  • 重新注册asp.net 2.0的方法
  • Linux操作系统能运行Asp.net的项目吗?
  • c#(asp.net)接收存储过程返回值的方法
  • asp与asp.net的session共享
  • 如何在unix下发布asp?
  • 怎么让Apache支持Asp?
  • ??谁能把ASP代码改为JSP的
  • ASP和ASP.Net共享Session解决办法
  • 通过socket和asp打交道
  • 犹豫中……,到底是选择ASP,还是JSP?
  • asp 是否 可用applet标签?帮忙!!
  • 新人提问:asp+access的程序在linux下怎么改?
  • 用JAVA APPLET做的交互式网页和ASP、PHP做的相比有什么优势呢?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3