URL Rewriting 重写解决方案
一、业务需求
1、顾客可以直接用浏览器book
2、顾客便于记忆URL,相对于
http://yoursite.com/info/dispEmployeeInfo.aspx?EmpID=459-099&type=summary,
顾客更容易记忆http://yoursite.com/people/sales/chuck.smith
3、利于搜索引擎收录
4、隐藏实际文件路径,提高网站的安全性
二、解决方案
1、原理
URL重写是截取传入的请求并自动将该请求重定向到其他资源的过程。
2、效果预览
三、源码分析
第三方程序集
四、使用方式
1、引入DLL程序集
把UrlRewritingNet.UrlRewriter.dll文件添加的工程的Bin文件下
2、配置Web.config文件
Ø 首先、在ConfigSections节新增Section,如下
<configSections>
<section name="urlrewritingnet" requirePermission ="false"
type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
</configSections>
Ø 其次、在<configuration>节点配置重写规则,如下:
<urlrewritingnet
rewriteOnlyVirtualUrls="true"
contextItemsPrefix="QueryString"
defaultPage = "default.aspx"
defaultProvider="RegEx"
xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
<rewrites>
<add name="RewriteOnDomain" virtualUrl="^http\://(.*)/item/(.*) "
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/ProductDetails.aspx?productCode=$2"
rewrite="Domain"
ignoreCase="true" />
<add name="Rewrite" virtualUrl="^~/(.*)/Detail(.*).aspx"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/Default.aspx?language=$1&id=$2"
ignoreCase="true" />
<add name="RedirectInApplication" virtualUrl="^~/(.*)/Default.aspx"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/$1/Detail_Redirected.aspx"
redirect="Application"
redirectMode="Permanent"
ignoreCase="true" />
<add name="KickBrowserToDomain" virtualUrl="^http\://(.*)/SampleWeb/kickto/(.*).aspx"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="http://$2?source=$1"
redirect="Domain"
redirectMode="Permanent"
ignoreCase="true" />
</rewrites>
</urlrewritingnet>
Ø 最后,在 <system.web>节点下配置如下内容
<httpModules>
<add name="UrlRewriteModule"
type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</httpModules>
解释:HttpModule 是实现 IHttpModule 接口和处理事件的程序集。ASP.NET 包含一组可由应用程序使用的 HttpModule 模块。例如,ASP.NET 提供了 SessionStateModule 来向应用程序提供会话状态服务。可以创建自定义 HttpModule 以响应 ASP.NET 事件或用户事件
五、总结
URL重写即便于用户添加到收藏夹,有利于搜索引擎收录和提高安全性,合理地使用URL重写功能便于提高网站的整体性能。比如,在电子商务网站的商品详细页面、注册页面、分类页面等等可以使用URL重写机制。
出处: http://www.cnblogs.com/ywqu
如果你认为此文章有用,请点击底端的【推荐】让其他人也了解此文章,
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述