首页 > OOP语言 > 其它 > 正文

通过Apache配置Rewrite实现网络服务的co-branding
2012-03-09 00:00:00   来源:www.bianceng.cn   评论:0 点击:

暂时无描述信息

本文讨论了如何利用 Apache 的 rewrite module,重写 URL 将 branding 信息变成 JSP 页面请求的参数,再通过 JSP 对于 session 对象的操作来保存和提取用户的 brand 信息,最后显示自定义的 UI 的技术方案来实现网络托管服务中的 co-branding 用户需求。阅读本文需要对 Apache 和 JSP 有一定的初步了解。

什么是 co-branding

时下,很多网站以网络服务的方式为企业用户提供“托管”服务(Hosting),典型的应用比如 Gmail 邮箱托管服务。如果你有一个公司叫做 data.com, 你可以通过 Gmail 注册自己公司的邮箱域名,并且访问以下链接到公司邮箱域名 : https://www.google.com/a/data.com。

并且在这个带有自己公司域名的页面下,可以创建自己的邮箱,例如 admin@data.com。注意这个邮箱地址是没有 gmail.com 的。因此,对于中小企业来说,这种托管邮箱服务就仿佛像提供了一个物理上的属于自己公司的邮件服务器并且用的也是自己公司的域名。而这种服务实际上是在 google 云服务端通过托管服务实现的。另一方面,基于商业形象的考虑,很多中小公司在使用便宜或者免费的托管服务时,还希望用上自己公司的 LOGO 或者名称,比如上面 Gmail 的例子,通过上述链接进入的页面,可以显示上用户公司的名称和标志,从而使得用户对外洽谈的客户也感觉就像访问了用户公司自己的邮箱服务,我们把这种由托管服务衍生出来的用户需求叫做“web service co-branding”,即网络服务的品牌联合。

Co-branding 的主要需要解决的问题就是通过用户访问的不同 URL 来识别用户是想访问哪个品牌 (brand) 下的网络服务,从而将之后有关品牌的文字,图片,LOGO,Flash 等等界面布局相关的要素都用上该品牌下提供的 UI 要素,甚至包括网页布局。当然这种基于品牌定制化的服务是客户在网络服务提供商购买或者免费获得的。

本文主要讲解了一种实现这种定制化服务的技术手段。本文假设用户都已经熟悉开发网络服务的一些软件和技术:Apache,是 Apache 软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一; JSP(全称 JavaServer Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的 Web 网页的技术标准。JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于 HTTP 的应用程序。本文的网页例子用 JSP 实现,当然读者也可以轻松的想到如何用 PHP 或者其他网页开发语言来实现例子中的功能。

本文包括三部分:Apache 配置和 URL 跳转、JSP 提取和保存 branding 信息、JSP 动态显示不同的 UI 元素。

Apache 配置和 URL 跳转

前面介绍过,Co-branding 需要解决的首要问题就是如何通过用户访问的不同 URL 来识别用户是想访问哪个品牌 (brand) 下的网络服务。为了解决这个问题,有一种技术手段就是想到利用 Apache 服务器,Apache 服务器监听着服务域的 HTTP 端口,当用户访问 http://www.CRL.com/mycompany.com 网络服务的时候,用户的浏览器会首先将请求发送到 Apache 服务器,然后 Apache 服务器分发给处理该请求的模块和最后返回用户应该看到的页面到用户端的浏览器。因此,我们利用 Apache 的 rewrite module,就可以做到当收到用户的 URL 请求时候,识别出用户是想访问 mycompany.com 品牌的网络服务,然后将请求转换成带有品牌信息的 URL 转发给特定的处理页面。

首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块。及是否加载了 mod_rewrite 模块 . mod_rewrite 的是一个 Apache 模块,可使服务器操纵请求的网址。根据一系列规则对传入的网址进行检查,规则中包含一个正则表达式来检测特定的格式。如果在地址中发现了一个格式,并且满足适当的条件,该格式就会被一个替代的字符串或者是动作取代。

相关热词搜索:

上一篇:使用Mule ESB与Groovy编排RESTful服务
下一篇:使用开放API和工具快速开发情景式mashup应用

分享到: 收藏