WEB开发网
开发学院软件开发Java 通过 Apache 配置 Rewrite 实现网络服务的 co-bra... 阅读

通过 Apache 配置 Rewrite 实现网络服务的 co-branding

 2010-02-24 00:00:00 来源:WEB开发网   
核心提示: 如果没有什么错误的话,会在 apache/modules 目录中编译出一个 mod_rewrite.so 文件,通过 Apache 配置 Rewrite 实现网络服务的 co-branding(4),同时 apxs 应该会自动编译并且部署到你的 Apache 目录,会在 vi /usr/loca

如果没有什么错误的话,会在 apache/modules 目录中编译出一个 mod_rewrite.so 文件。
同时 apxs 应该会自动编译并且部署到你的 Apache 目录,会在
vi /usr/local/apache2/conf/httpd.conf 里加载:
LoadModule rewrite_module    modules/mod_rewrite.so

如果没有部署,你将 mod_rewrite.so 手工拷贝到的 Apache modules 目录下并且修改 httpd.conf 进行加载即可,例如:/usr/local/apache2/modules

2. 接下来就可以用 rewrite 来将不同的访问 URL 参数化来处理了。Rewrite module 可以用一个正则表达式来匹配用户发送过来的 URL 请求,然后转换成另外一种形式的 URL 请求,然后再交给 Apache 去分发和处理修改后的 URL 页面请求。

我们在 Apache 的 httpd.conf 里加入以下的 code 就可以达到这样的效果。

清单 6. URL 转换的代码

 LoadModule rewrite_module   modules/mod_rewrite.so 
 <IfModule rewrite_module> 
  RewriteEngine on 
  RedirectMatch ^(.*)/([^/]*)\.com$ $1/index.jsp?brand=$2 
   </IfModule> 

熟悉正则表达式的读者,可以看到例子中的 RedirectMatch 后面跟的正则表达式会匹配 http://www.CRL.com/mycompany.com 然后转换为 http://www.CRL.com/index.jsp?brand=mycompany

图 1. 流程图
通过 Apache 配置 Rewrite 实现网络服务的 co-branding

JSP 提取和保存 branding 信息

熟悉 JSP 的朋友知道,转换以后的 URL http://www.CRL.com/index.jsp?brand=mycompany, 已经将 mycompany 作为一个参数 brand, 传递给了 index.jsp(通常一个 jsp 网站的首页)。而 index.jsp 拿到这个参数以后,就可以提取出 branding 信息。举个 index.jsp 的例子:

上一页  1 2 3 4 5 6  下一页

Tags:通过 Apache 配置

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接