网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

在ASP.NET中执行URL重写

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
建十二个目录(01、02、?、?、12),并且每个目录中均有一个 Default.aspx 文件。(如上所述,我们还必须执行前面演示中的操作,即在 /Products/ 目录中添加一个 Default.aspx 文件,以便访问 /Products/ 时可以正确显示 ListCategories.aspx。)

很显然,添加这样一个目录结构可能是一件很痛苦的事情。解决此问题的方法是使所有传入的 IIS 请求都映射到 ASP.NET 引擎。通过这种方法,即使访问 URL /2004/03/,IIS 也会如实地将请求传递给 ASP.NET 引擎(即使并不存在 /2004/03/ 目录)。但是,使用这种方法将使 ASP.NET 引擎负责处理到达 Web 服务器的所有类型的传入请求,包括图像、CSS 文件、外部 JavaScript 文件、Macromedia Flash 文件,等等。

对处理所有文件类型的全面讨论远远超出了本文的范围。有关使用此技术的 ASP.NET Web 应用程序的示例,请参阅 .Text,一个开放源 blog 引擎。.Text 可以配置为将所有请求均映射到 ASP.NET 引擎。它可以使用自定义 HTTP 处理程序来处理生成所有文件类型的问题,自定义 HTTP 处理程序了解如何生成典型的静态文件类型(图像、CSS 文件,等等)。

返回页首返回页首

结论

在本文中,我们讨论了如何在 ASP.NET 级别通过 httpcontext 类的 RewriteUrl() 方法来执行 URL 重写。正如我们所看到的,rewriteurl() 更新了特定的 httpcontext''s Request 属性,从而更新了被请求的文件和路径。最终结果是,从用户角度来看,他们要访问某个特定的 URL,但从 Web 服务器端来看,被请求的却是另一个 URL。

可以在 HTTP 模块或 HTTP 处理程序中重写 URL。在本文中,我们介绍了如何使用 HTTP 模块执行重写,并讨论了在管道中的不同阶段执行重写的结果。

当然,如果执行 ASP.NET 级别的重写,则仅当已成功地将请求从 IIS 传递给 ASP.NET 引擎后才会发生 URL 重写。实际上,只有用户请求带 .aspx 扩展名的页面时才会出现这种情况。但是,如果您要使用户可以进入实际并不存在的 URL,但又希望重写到现有的 ASP.NET 页面,则必须创建虚拟目录和 Default.aspx 页面,或者对 IIS 进行配置,以使所有传入请求一律被路由到 ASP.NET 引擎。

返回页首返回页首

参考资料

ASP.NET:Tips, Tutorials, and Code

Microsoft ASP.NET Coding Strategies with the Microsoft ASP.NET Team

Essential ASP.NET with Examples in C#

参考资料

url 重写是涉及到 ASP.NET 和竞争服务器端 Web 技术的一个主题。例如,Apache Web 服务器提供了名为 mod_rewrite 的 URL 重写模块。Mod_rewrite 是一个功能强大的重写引擎,提供了基于条件(如 HTTP 标题和服务器变量)的重写规则以及使用正则表达式的重写规则。有关 mod_rewrite 的详细信息,请查阅 A User''s Guide to URL Rewriting with the Apache Web Server。

还有许多有关使用 ASP.NET 执行 URL 重写的文章。Rewrite.NET - A URL Rewriting Engine for .NET 对创建模拟 mod_rewrite 正则表达式规则的 URL 重写引擎进行了介绍。URL Rewriting With ASP.NET 为 ASP.NET 的 URL 重写功能提供了很好的概述。Ian Griffiths 包含一个 blog entry,介绍了有关使用 ASP.NET 进行 URL 重写的一些注意事项(如在本文中讨论过的回发问题)。Fabrice Marguerie (read more) 和 Jason Salas (read more) 具有有关使用 URL 重写来增强搜索引擎定位功能的 blog 条目。

作者简介

scott Mitchell 著有五本书,他还是 4GuysFromRolla.com 网站的创建者。在过去五年中,他一直从事 Microsoft Web 技术方面的研究工作。Scott 是一位独立的顾问、培训师和作家。您可以通过 mitchell@4guysfromrolla.com 与作者进行联络,或者通过作者的 blog 进行联络,其网址是:http://scottonwriting.net/。

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号