您的位置:首页 > 编程语言 > ASP

使用 URLRewriter 重写 asp.net 网址 经验

2013-02-01 17:54 513 查看
最近使用URLRewriter 重写了网站的网址,在过程中遇到一些问题。

首先是按照网上的教程把 URLRewriter 整合到网站里,参考:http://www.cnblogs.com/Ferry/archive/2009/06/19/1506770.html

网上有很多教程,博客园这篇是写得比较清楚的。

把 URLRewriter 整合进网站后,

一开始想写一个httpModules ,在输出页面内容的时候把网址都替换了,不过在一个使用 updatepanel 做 ajax 翻页的页面报错了,不能翻页了,只能放弃了。

后来又发现,html页面不能访问了(我用URLRewriter把aspx转成html了),在网上找一下,解决方法也很快出来了

就是加多一个buildProviders 的配置节点

<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
</compilation>


经过以上配置,我的网站还是不能访问真实的HTML页面,找来找去,终于发现了问题。

原来是网站上的那些HTML页面都是UTF-8编码的文件,但是部署上 URLRewriter 后,就只认 ANSI 编码的HTML文件了。只好写了一个文件编码转换工具来把那些

UTF-8编码的HTML文件转成ANSI编码。

至此,URLRewriter 已成功整合到网站。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: