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

ASP.NET
Asp.Net 通用数据操作类 (附通用数据基类)
asp.net汉字转拼音和获取汉字首字母的代码
asp.net 多字段模糊查询代码
OpenCms 带分页的新闻列表
URLRewriter最简单入门介绍 URLRewriter相关资源
asp.net Repeater取得CheckBox选中的某行某个值
asp.net清空Cookie的两种方法
asp.net一些很酷很实用的.Net技巧
asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
asp.net TripleDES加密、解密算法
Asp.net中防止用户多次登录的方法
asp.net Repeater取得CheckBox选中的某行某个值的c#写法
asp.net DataGridView导出到Excel的三个方法[亲测]
C#,winform,ShowDialog,子窗体向父窗体传值
asp.net学习中发现的比较完整的流程
ASP.net 页面被关闭后,服务器端是否仍然执行中?
asp.net Context.Handler 页面间传值方法
asp.net xml序列化与反序列化
asp.net实例代码protected override void Render(HtmlTextWriter writer)
asp.net(c#)捕捉搜索引擎蜘蛛和机器人

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


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