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

ASP.NET
asp.net(C#) 生成随机验证码的代码
C# 生成高质量缩略图程序—终极算法
iis的http 500内部服务器错误的解决
效控制C#中label输出文字的长度,自动换行
asp.net下生成99个不同的随机数
Asp.Net文本换行
Asp.Net中文本换行
asp.net 上传大文件解决方案
asp.net程序编译调试时偶尔出现访问被拒绝的错误的解决方法
控件开发时两种JS嵌入资源方式的使用方法
AspNetPager分页控件源代码(Version 4.2)
asp. net下使用foreach简化文本文件的访问。
asp.net下经典数据库记录分页代码
微软发布的Data Access Application Block的使用代码
如何在网站级别动态更改主题
asp.net下模态对话框关闭之后继续执行服务器端代码的问题
asp.net下利用JS实现对后台CS代码的调用方法
批量删除记录时如何实现全选方法总结
asp.net下OnClientClick的妙用!
[c#]asp.ent下开发中Tag的开发技巧

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 241 ::
收藏到网摘: 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>