使用URLRewriter实现URL重写
优点
1)隐藏真实URL,提高安全性
2)更加友好的URL,好记(看博客园就行知道啦)
3)便于搜素引擎收录
.........
可能的缺点
使用URL重写可能导致:
1)图片路径的问题
2)CSS路径的问题
3)性能问题
.........
先下载DLL包,附带了源码的.
download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi
URLRewriter.dll和ActionlessForm.dll
或者只使用DLL 本人已经上传:http://files.cnblogs.com/yun_shuai/URLRewriter.rar 含有上面2个DLL
使用方法 :WEB项目中添加引用
webconfig中配置:
1 <configSections> 节点中增加:
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter"/>
2 <configuration>根节点中增加URL重写的配置: 可以使用正则表达式
<RewriterConfig> <Rules> <!-- Rules for Blog Content Displayer --> <RewriterRule> <LookFor>~/(\d{4})/(\d{2})/(\d{2})\.aspx</LookFor> <SendTo>~/ShowBlogContent.aspx?year=$1&month=$2&day=$3</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/(\d{4})/(\d{2})/Default\.aspx</LookFor> <SendTo><![CDATA[~/ShowBlogContent.aspx?year=$1&month=$2]]></SendTo> </RewriterRule> <RewriterRule> <LookFor>~/(\d{4})/Default\.aspx</LookFor> <SendTo>~/ShowBlogContent.aspx?year=$1</SendTo> </RewriterRule> <!-- Rules for Product Lister --> <RewriterRule> <LookFor>~/Products/Default\.aspx</LookFor> <SendTo>~/ListCategories.aspx</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/Products/Beverages\.aspx</LookFor> <SendTo>~/ListProductsByCategory.aspx?CategoryID=1</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/Products/Condiments\.aspx</LookFor> <SendTo>~/ListProductsByCategory.aspx?CategoryID=2</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/Products/Confections\.aspx</LookFor> <SendTo>~/ListProductsByCategory.aspx?CategoryID=3</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/Products/Dairy\.aspx</LookFor> <SendTo>~/ListProductsByCategory.aspx?CategoryID=4</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/Products/GrainsCereals\.aspx</LookFor> <SendTo>~/ListProductsByCategory.aspx?CategoryID=5</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/Products/MeatPoultry\.aspx</LookFor> <SendTo>~/ListProductsByCategory.aspx?CategoryID=6</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/Products/Produce\.aspx</LookFor> <SendTo>~/ListProductsByCategory.aspx?CategoryID=7</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/Products/Seafood\.aspx</LookFor> <SendTo>~/ListProductsByCategory.aspx?CategoryID=8</SendTo> </RewriterRule> </Rules> </RewriterConfig>
3 <httpModules> 增加 <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
或者
<httpHandlers> 增加 <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
4 完成.
5 其他问题:
回发后真实路径再现:
1、将ActionlessForm.dll添加到项目的bin文件夹
2、在aspx网页的代码中加<%@ Register TagPrefix="RW" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
3、然后将form标签改为RW:Form(注意开始和结束都要改),TagPrefix可以自定义
另外:DOTNET3.5 提供了 System.Web.Routing 命名空间
可以自己实现想要的URL重写.
参考文章:
http://www.cnblogs.com/Ferry/archive/2009/06/19/1506770.html
http://www.blogjava.net/Unmi/archive/2010/06/14/323349.html
从以上2篇文章地址可以看出,其服务器也使用了URL重写方式
使用URLRewriter实现URL重写的更多相关文章
- asp.net 使用UrlRewritingNet.UrlRewriter组件URL重写,伪静态详解
目录 URL重写的业务需求 ReWritingNet组件主要功能 配置IIS(IIS7/8环境下) 程序代码 重写规则 一,URL重写的业务需求 顾客可以直接用浏览器bookmark功能将页面连结储存 ...
- ASP.NET过滤器、URL重写
过滤器可以对指定的URL访问进行拦截,并执行过滤器的方法,根据实际应用情况,在过滤器中修改请求的代码.判断会话信息,也可以做权限控制. 一:编写过滤器,实现URL重写并配置过滤 编写过滤器,就是编写一 ...
- URL重写技术总结
URL重写技术总结 概要:什么是url重写? URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程.比如浏览器发来请求 hostname/101.html ,服务器自动将这个请 ...
- 借助微软提供的url重写类库URLRewriter.dll(1.0)实现程序自动二级域名,域名需要泛解析
二级域名和系统中会员帐号自动关联,也就是系统中注册一个会员,会员自动就可以通过二级域名来访问,比如我的帐号是zhangsan,我在morecoder.com注册后,访问zhangsan.morecod ...
- 微软URLRewriter.dll的url重写在目标框架.Net Framework2.0、4.0和应用程序池经典模式、集成模式下的配置
大家参考几篇园子里面的这篇文章: 文章1:微软URLRewriter.dll的url重写的简单使用 (讲解了使用UrlReWriter.dll的下载.web.config如何在目标框架2.0应用程序池 ...
- .net用url重写URLReWriter实现任意二级域名
.net用url重写URLReWriter实现任意二级域名 这两天需要用到URLReWriter来搞那个猪头的Blog,网上看到篇好文,收藏 摘要:解释了url重写的相关知识.用asp.net实现二级 ...
- 【url重写】
一.原理void Application_BeginRequest(object sender, EventArgs e) { //url重写 HttpApplication a ...
- UrlRewritingNet伪静态的使用方法与解决方案(URL重写)
在建站初期时,我们往往需要考虑的是使用真静态还是伪静态,这对于往后的站点配置,延展性都会产生深远的影响. 我使用伪静态的唯一目的:SEO优化.毋容置疑,伪静态在对于Spider是非常有利的,因此,我更 ...
- UrlRewrite(URL重写)--ASP.NET中的实现
概述 今天看了下URL重写的实现,主要看的是MS 的URL Rewrite. URL重写的优点有:更友好的URL,支持老版本的URL URL重写的缺点有:最主要的缺点是性能低下,因为如果要支持无后缀的 ...
随机推荐
- Android源码中添加APP
参考罗升阳<Android系统源代码情景分析> 在Android源码中,我们通常把实验性质的Android APP放在packages/experimental目录下.对于一个简单的应用程 ...
- Java探索之旅(13)——字符串类String
1.初始化 String类是Java预定义类,非基本类型而是引用类型. public class StudyString { public static void main(String[] args ...
- 创建sharepoint网站
1.首先打开管理中心 输入用户名和密码(默认是本机的管理员名称及密码) 在“应用程序管理”选择“管理WEB应用程序” 新建应用程序 选择一个没有占用的端口,选择允许匿名访问 数据库名称一般为WSS_C ...
- SpringSecurity02 表单登录、SpringSecurity配置类
1 功能需求 springSecuriy默认的登录窗口是一个弹出窗口,而且会默认对所有的请求都进行拦截:要求更改登录页面(使用表单登录).排除掉一些请求的拦截 2 编写一个springSecurity ...
- Angular11 模板表单、响应式表单(自定义验证器)、HTTP、表单元素双向绑定
1 模板表单 模型通过指令隐式创建 技巧01:需要在模块级别引入 FormsModule ,通常在共享模块中引入再导出,然后在需要用到 FormsModule 的模块中导入共享模块就可以啦 impor ...
- 将Linux 标准输出,错误输出重定向到文件
1.想要把make输出的全部信息,输出到某个文件中,最常见的办法就是: make xxx > build_output.txt 此时默认情况是没有改变2=stderr的输出方式,还是屏幕,所以, ...
- mahout 实现canopy
环境: mahout-0.8 hadoop-1.1.2 ubuntu-12.04 理论这里就不说了,直接上实例: 下面举一个例子. 数据准备: canopy.dat文件,COPY到HDFS上,文件内容 ...
- SQL中的union,except,intersect用法
限制:所有查询中的列数和列的数序必须相同 union all:完全整合两个结果集查出所有数据 union:查出两个表的数据并且去除重复的数据 except:去重之后只会保留第一个表中的数据,查询a表在 ...
- 数学建模美赛O奖论文总结
Anil S. Damle Colin G. West Eric J. Benzel University of Colorado–Boulder Boulder, CO Advisor: Anne ...
- Lxc容器基本用法
你将学到什么 如何安装LXC 如何创建LXC容器 如何管理LXC容器 如何查询进程所属Namespace 如何给LXC容器添加网卡 如何限制LXC容器资源 环境 x64 Ubuntu 14.04.3 ...