ASP.NET URL双向改写的实现
ASP.NET URL双向改写的实现
我们在进行Web程序开发时,为了进行搜索引擎优化(SEO),往往需要对web的访问地址进行优化,如将http://localhost/Default.aspx?tab=performance修改为http://localhost/Default_performance.aspx,后一个地址能够更好地被搜索引擎搜索到,从而达到了搜索引擎优化的目的。微软有一个开源类库URLRewriter可以非常方便地实现url改写,通过配置在web.config文件中的映射表将用户的请求重定向到具体的页面中,我在“使用URLRewriter进行URL重写失效”一文中详细介绍了如何使用这个类库,该类库是通过asp.net的httpmodules或httphandles来执行的,但如果网站的宿主服务器不支持asp.net httpmodules和httphandles,则该功能便失效了,这时我们可以通过global中的application_beginrequest事件来进行url重定向。本文在URLRewriter类库的基础上进行了改进,并给出了一个相对完整的解决方案。
我们的改进是建立在URLRewriter的基础之上的,所以URLRewriter原有的东西只要能用,我们都可以直接拿过来,当然,不好的东西要摒弃!
URLRewriter的映射表是直接写在web.config文件中的,要让web.config能识别映射表,必须在configSections节中添加section,告诉程序如何正确解析web.config中未被识别的内容,如原URLRewriter就需要在web.config中添加<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>。我觉得这个方式并不好,首先你需要单独去编写一个类库来解析xml,并在web.config中进行配置,我们完全可以省去这一步。url的映射表可以单独写到一个xml文件中,当程序运行时将xml加载到应用程序缓存中,并设置一个缓存文件依赖项,这样每当管理员修改完映射表后就可以马上生效。
另外我希望支持url的双向改写,即上面提到的两个url,当用户输入第二个url时程序会将请求发送到第一个url,但浏览器中显示的url不变;当用户输入第一个url时,自动跳转到第二个url,此时浏览器中显示的是第二个url,但是请求仍然是第一个url。听起来是不是有点绕啊?没关系,其实也很简单,基本的需求就是说客户原来网站中的很多页面在访问时都带了很多参数,做url改写时都换成新的url了,这时旧的url仍然可以用,客户想的就是当输入原来旧的url时能自动跳转到新的url。这个就是url的双向改写!这两种方式可以分别通过Context.RewritePath()和Context
相关文档:
标签:xml .net [推送到技术圈]
loveqq2004
<?xml version="1.0" encoding="utf-8" ?>
<files>
<file>
<name>4.dll</name>
&nb ......
首先看下XML结构
<?xml version="1.0" encoding="utf-8"?>
<corplist>
<corp>
<linkname>陈先生</linkname>
<corpname>XXXXXXXXX公司</corpname>
<email>xxxxx@126.com</email>
</corp>
<corp>
<linknam ......
1. ASP.Net是什么?
ASP.Net是建立在微软新一代.Net平台架构上,利用普通语言运行时(Common Language Runtime)在
服务器后端为用户提供建立强大的企业级Web应用服务的编程框架。
2.ASP.Net与ASP的联系和主要区别是什么?
&n ......
在自己做的网页里 嵌入一个网页 然后自动填充表单数据
请问谁知道怎么搞啊?
我用Iframe 不行
就跟 winform 里面的webBrowser 控制网页模式相似的
急啊·
就比如说在网页里嵌入某网站的登陆界面 然后把从数据库里获取的用户名 和 密码 自动填上去 然后提交
说明 提交到外站
......
ASP.NET MVC的1.0发行说明
最新消息
ASP.NET MVC的1.0是ASP.NET MVC框架的第一个正式版本的支持。与往常一样,随时提供有关ASP.NET MVC的论坛反馈。
注意:在运行的ASP.NET MVC 1.0安装程序,卸载任何早期预ASP.NET MVC的发行版本。此外,关闭Visual Studio 2008的所有实例。
文档
ASP.NET MVC中的文件可在MSD ......