当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > URLRewriter最简单入门介绍 URLRewriter相关资源

ASP.NET
ASP.Net分页控件源码
Community Server专题一:概述Community Server
Community Server专题三:HttpModule
relaxlife.net发布一个自己开发的中文分词程序
RLCSS分词系统更新下载
asp.net获取SQL所有数据库名、所有表名、所有字段名
asp.net下获取Excel所有的工作表名称
Asp.Net常用函数
asp.net下用url重写URLReWriter实现任意二级域名的方法
在.NET中利用XMLHTTP下载文件的代码
在ASP.NET 中实现单点登录
c# .net 生成图片验证码的代码
asp.net中MD5 16位和32位加密函数
自己常用到的自定义公共类(已测试通过)
ASP.NET 2.0下随机读取Access记录的实现方法
.NET(C#)连接各类数据库代码-集锦
nunit使用指南之—NUnit Quick Start
ASP.NET中读取XML文件信息的4种方法与示例代码
asp.net中获取远程网页的内容之一(downmoon原创)
asp.net下获取远程网页的内容之二(downmoon原创)

ASP.NET 中的 URLRewriter最简单入门介绍 URLRewriter相关资源


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 140 ::
收藏到网摘: n/a

配置好后,查看日志看到的状态都是200,IIS直接认为这个文件是存在的了, 而不是301,或302,这在某些情况下可能会不适用,比如:搜索引擎优化时目录或文件调整。

1. URLRewriter 相关资源:
http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi
http://msdn.microsoft.com/zh-cn/library/ms972974.aspx
http://blog.csdn.net/chenghp/archive/2007/04/10/1559212.aspx

2. URLRewriter 二级域名的实现:
http://www.cnblogs.com/jzywh/archive/2006/02/20/seconddomainurlrewriter.html
http://www.cnblogs.com/jzywh/archive/2005/09/29/246650.html


3. 适用场合 IIS相关配置:

配置好后,查看日志看到的状态都是200,IIS直接认为这个文件是存在的了,
而不是301,或302,这在某些情况下可能会不适用,比如:搜索引擎优化时目录或文件调整。

默认只支持.net格式的重定向 比如:.aspx格式的重定向。
如:show_12_yongfa365.aspx --> show.aspx?id=12&name=yonga365

如果想实现,*.html这样的格式(一般我们就用这种方法实现.net 伪静态)
如:show_12_yongfa365.html --> show.aspx?id=12&name=yonga365

得在站点里加上相关“应用程序扩展”
添加方法:右击相关站点-->属性-->主目录-->配置-->映射-->
在里面找到扩展名是.aspx的记录,双击,复制里面的可执行文件里的内容,关闭
回到了应用程序配置里,点添加,粘贴刚才复制的地址,扩展名里输入".html",把“确认文件是否存在”的勾去掉。
OK,IIS上相关配置就配好了。

4.下载相关文件:

请从此下载UrlRewriter组件。安装,把安装目录下里的 UrlRewriter.dll copy 到你的项目 bin 目录下。


5.配置 Web.config

<configuration>标签里加上:

<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>

<!--URLRewriter重写规则,不会正则表达式的到网上找找,柳永法当时在车上两小时看完相关文档,感觉就看会了。-->
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(\d+).aspx</LookFor>
<SendTo>~/Default.aspx?page=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>

<system.web>标签里加上:

<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>

<!--
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
-->


6. 加入窗体回传保持的组件:
如果你的页面有回传。比如说放了DataGrid 或 GridView等,有分页的会出问题,解决方法:
在原来你下载的项目里找到 ActionlessForm.dll 放到你的项目 bin 目录下。

然后在你的这个页面中加入:
<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
再把你的<Form...>改为:
<skm:Form id="你的表单名" method="post" runat="server">
.....
</skm:Form>