- 浏览: 2184955 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (1878)
- [网站分类]ASP.NET (141)
- [网站分类]C# (80)
- [随笔分类]NET知识库 (80)
- [随笔分类]摘抄文字[非技术] (3)
- [随笔分类]养生保健 (4)
- [网站分类]读书区 (16)
- [随笔分类]赚钱 (7)
- [网站分类].NET新手区 (233)
- [随笔分类]网站 (75)
- [网站分类]企业信息化其他 (4)
- [网站分类]首页候选区 (34)
- [网站分类]转载区 (12)
- [网站分类]SQL Server (16)
- [网站分类]程序人生 (7)
- [网站分类]WinForm (2)
- [随笔分类]错误集 (12)
- [网站分类]JavaScript (3)
- [随笔分类]小说九鼎记 (69)
- [随笔分类]技术文章 (15)
- [网站分类]求职面试 (3)
- [网站分类]其他技术区 (6)
- [网站分类]非技术区 (10)
- [发布至博客园首页] (5)
- [网站分类]jQuery (6)
- [网站分类].NET精华区 (6)
- [网站分类]Html/Css (10)
- [随笔分类]加速及SEO (10)
- [网站分类]Google开发 (4)
- [随笔分类]旅游备注 (2)
- [网站分类]架构设计 (3)
- [网站分类]Linux (23)
- [随笔分类]重要注册 (3)
- [随笔分类]Linux+PHP (10)
- [网站分类]PHP (11)
- [网站分类]VS2010 (2)
- [网站分类]CLR (1)
- [网站分类]C++ (1)
- [网站分类]ASP.NET MVC (2)
- [网站分类]项目与团队管理 (1)
- [随笔分类]个人总结 (1)
- [随笔分类]问题集 (3)
- [网站分类]代码与软件发布 (1)
- [网站分类]Android开发 (1)
- [网站分类]MySQL (1)
- [网站分类]开源研究 (6)
- ddd (0)
- 好久没写blog了 (0)
- sqlserver (2)
最新评论
-
JamesLiuX:
博主,能组个队么,我是Freelancer新手。
Freelancer.com(原GAF – GetAFreelancer)帐户里的钱如何取出? -
yw10260609:
我认为在混淆前,最好把相关代码备份一下比较好,不然项目完成后, ...
DotFuscator 小记 -
日月葬花魂:
大哥 能 加我个QQ 交流一下嘛 ?51264722 我Q ...
web应用程序和Web网站区别 -
iaimg:
我想问下嵌入delphi写的程序总是出现窗体后面感觉有个主窗体 ...
C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部 -
iaimg:
代码地址下不了啊!
C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部
asp.net用url重写URLReWriter实现任意二级域名(续)
更高级的内容看这里:
http://www.cnblogs.com/notus/archive/2007/03/13/673222.html
最近有个朋友要做url重写的东西,我帮他弄了弄,回头看当年自己写的那个文章,当时以为自己写的很容易理解.但现在再看却觉得写的不好.而今天百度了一下urlrewriter发现我这个文章竟然排第二.为了方便更多朋友,我再写点东西补充下.
一般用百度搜的朋友都是对这个不了解但又急需要用的,我想,再多的语言也比不过一句代码.于是我把今天帮朋友时候写的一个小例子传了上来.这个小例子的目的是实现对任意url的重写(但不包括二级域名的,有需要二级域名的也可以先了解下url重写的概念). 这个小项目的制作过程如下
1.需要对诸如http://song2.cn/viewnews/2009/3/2.html的url进行重写.将其重写为http://song2.cn/viewnews.aspx?id=2&year=2009&month=3
2.下载微软的那个URLRewriter.dll,使用这个对url进行重写.
我们来看这个url, http://song2.cn/viewnews/2009/3/2.html(当然也可能是3.html,6.html,7.html).要重写,首先是截获url请求,然后分析当时的url,最后跳转到相应的页面.所以我们第一步是要截获url请求.为此新建一个类库叫URL,在该类库中引用URLRewriter.dll.新建一个类myrewritter.cs,代码如下
{
public class myrewritter : URLRewriter.BaseModuleRewriter
{
protected override void Rewrite(string requestedPath, HttpApplication app)
{
if (requestedPath.Contains("viewnews/2009/3/2.html"))
app.Context.RewritePath("/viewnews.aspx?id=2&year=2009&month=3");
else
app.Context.RewritePath("/here.aspx");
}
}
}
可以看到该类继承了URLRewriter.BaseModuleRewriter,然后在Rewrite方法中加入了我们自己的逻辑.现在,只要当前的url请求是viewnews/2009/3/2.html,我们就会将页面重写到/viewnews.aspx?id=2&year=2009&month=3.
这只是一个简单的例子,实际上对于url的判断,一般是用正则表达式来完成.而页面和页面间的对应关系,可能需要通过查询数据库完成.
接下来在网站项目中引用这个类库.然后修改下web.config,下面是我的web.config
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<httpModules>
<add type="URL.myrewritter" name="URL" />
</httpModules>
<compilation debug="true" />
<authentication mode="Windows" />
</system.web>
</configuration>
大家可以看到我新加了个httpModules.这个的作用是,如果有url请求,asp.net会先把请求传到你指定的这个类中来.add那一行了,前面的是要接收请求的类,后面的是这个类所在的dll的名字.
添加完这一句后,一切就快结束了.由于我们要处理的是.html的页面,所以需要配置下iis.因为默认asp.net的处理引擎不会管.html.我们要做的是用处理asp.ent的那个程序来处理html页面.打开iis.找到你的网站,点右键打开属性.找到主目录(Home Directory),打开配置(Configuration)对话框. 在Application extensions(抱歉我不知道这个在中文系统里叫什么)列表里找到.aspx,点击编辑(Edit...),复制Executable框的内容.比如我的是:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll. 然后点击Add,在打开的对话框里, Executable把刚才复制的路径粘贴到这里,extension填写html,然后确定保存.这样我们就把对.html页面的请求交给了asp.net.
全部完成了,编译下项目(中文环境叫 生成),打开url http://localhost/mytest/viewnews/2009/3/2.html,看会不会重写到http://localhost//viewnews.aspx?id=2&year=2009&month=3
下面是我的例子的全部文件,大家可以下载然后看看.看一句代码比看十句话都管用,对吧
http://files.cnblogs.com/notus/rewrittertest.rar
要注意的是,我的例子中,web网站的url配置成了http://localhost:8011,你可能需要更改下这个配置.方法是在网站项目上点右键,打开属性.然后在Web页面中修改.
作为一个初学者,可能对这些东西感觉挺烦的.如果你不想看长篇大论,那最好的办法就是看下我的代码.我最近在学flex,对有些新东西也是处于忍无可忍的状态.春天到了,大家都比较烦躁,所以,静下心来,慢慢来.
happy programming :)
发表评论
-
where T:new() 是什么意思
2014-04-18 09:26 1468where T:new() 是什么意思 经常看到方法后面 ... -
好久没写blog了
2012-05-21 18:43 2好久没写blog了 -
test
2011-03-19 09:48 821testddddddddddd -
QQ自动发日志分析
2011-03-10 18:15 1276首先列举比较重要的问 ... -
test
2011-02-23 18:03 812test -
test
2011-02-23 17:53 885test -
为啥cnblogs的数据不能导了
2011-02-23 11:03 919为啥cnblogs的数据不能导了内容 -
如何保护.net中的dll文件(防破解、反编译)
2010-07-30 00:28 1499.net是一种建立在虚拟机上执行的语言,它直接生成 MSIL ... -
提搞网站访问速度可做哪些优化
2010-08-08 15:30 1124一、 服务器优化 ... -
ASP.NET(c#)如何判断浏览器是否支持cookies
2010-07-29 09:33 1724实例代码: 下面是写cookie ... -
N点虚拟主机管理系统(For Windows2003/2008)功能及介绍
2010-04-09 11:23 2269N点虚拟主机管理系统是 ... -
使用c#+(datagrid控件)编辑xml文件
2010-04-06 09:13 1174对xml文件的记录进行删除,修改,或增加新记录。 利用了d ... -
HTTP代理模块(HTTP Proxy)
2010-04-04 10:19 3055HTTP代理模块(HTTP Proxy ... -
Error 80040154 retreiving COM Class factory
2010-03-29 09:23 22601.ask: Greetings, I have ... -
petshop4.0 详解之二(数据访问层之数据库访问设计)
2010-03-27 11:08 1076在系列一中,我从整体上分析了PetShop的架构设计,并提及了 ... -
分享十五个最佳jQuery幻灯插件和教程
2010-03-25 09:17 2015<p>在网站前端中使用jQuery库已经变得越来越 ... -
20个软件开发常用设计文档大全下载
2009-08-27 10:22 979搜集了一些软件开发的常用文档,分享给大家 总下载地址: h ... -
asp.net 在线 mp3,wma, avi
2009-09-04 13:58 9341.前台js<script type="tex ... -
sql db link string
2009-09-06 21:52 988SQL Server ODBC Standar ... -
ASP.Net2.0小技巧 保持滚动条的位置 焦点移动到某个控件 $符号轻松的使用FindControl
2009-09-11 11:05 1304您可能不知道的ASP.Net2.0 ...
相关推荐
ASP.NET 使用 URL 重写库 URLReWriter 实现任意二级域名的高级技术主要涉及网络编程、URL管理和HTTP模块。在ASP.NET环境中,URL重写是一个关键功能,它允许开发者隐藏实际的URL路径,提供更友好的用户体验,同时也能...
标题与描述均提到了在.NET框架中利用URL重写(URL Rewriting)技术,通过URLReWriter组件实现任意二级域名的映射与处理。本文将深入解析这一技术的关键概念、实施步骤以及具体应用场景,旨在为.NET开发人员提供一个...
在本篇文章中,我们将探讨如何使用URL重写库URLReWriter来实现任意二级域名的功能。 首先,我们需要理解URL重写的基本原理。当用户在浏览器中输入一个URL(例如:http://love.kerry.com)时,这个请求会被解析并...
这个小例子的目的是实现对任意url的重写(但不包括二级域名的,有需要二级域名的也可以先了解下url重写的概念). 这个小项目的制作过程如下 1.需要对诸如http://jb51.net/viewnews/2009/3/2.html的url进行重写.将其重写...
ASP.NET URL重写(URLRewriter)是一种技术,用于改变应用程序内部处理的URL,而对外显示的URL则保持用户友好的格式。这种技术在Web开发中广泛应用,因为它能提高用户体验,增强SEO(搜索引擎优化),以及简化网站...
用asp.net实现二级域名重写的方法.对重写的一些问题做了汇总解答.提供了几段示例代码.好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑.来找...
在ASP.NET中,这通常通过使用IIS(Internet Information Services)的URL重写模块或者Microsoft的`System.Web.Routing`类库来实现。通过URL重写,你可以将复杂的、参数化的URL转换为简洁的、有意义的URL,比如将`/...
ASP.net的地址重写(URLRewriter)实现原理及代码示例
在ASP.NET中,二级域名的实现通常涉及到URL重写技术,这有助于提高网站的SEO优化和用户体验。本项目源代码是基于ASP.NET平台,利用微软的URLRewriter库来创建二级域名的功能。 URLRewriter库是一个强大的工具,它...
在这个“asp.net url重写 demo”项目中,我们看到使用了Intelligencia.UrlRewriter.dll组件来实现这一功能,这是一个广泛使用的开源URL重写库,适用于.NET Framework 3.5。 首先,让我们了解URL重写的基本原理。URL...
在ASP.NET 2008中,UrlRewriter库是一个常用的实现URL重写的工具。 UrlRewriter库是由Ionics公司开发的开源组件,它作为一个HTTP模块集成到ASP.NET应用程序中,可以在请求到达实际处理页面之前对URL进行转换。这...
UrlRewriter.NET是IIS(Internet Information Services)和ASP.NET应用程序中实现URL重写的强大工具。它基于HTTP模块,可以在HTTP请求生命周期的早期阶段捕获请求,并根据预定义的规则修改URL。这些规则通常定义在...
在ASP.NET中,实现URL重写通常有两种方式:使用IIS URL重写模块或通过.NET Framework中的URLRewriter类库。IIS URL重写模块是一个预安装的IIS扩展,可以直接在IIS管理器中配置规则。而对于VS2010项目,我们可以使用...
UrlRewriter组件是实现ASP.NET URL重写的一种方式,它允许开发者定义自定义的URL模式,并将其映射到实际的处理程序或页面。`UrlRewriter2_51aspx.rar`和`UrlRewriter_51aspx.rar`这两个文件很可能是包含该组件的源...