通过 Apache 配置 Rewrite 实现网络服务的 co-branding
2010-02-24 00:00:00 来源:WEB开发网如果没有什么错误的话,会在 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. 流程图
JSP 提取和保存 branding 信息
熟悉 JSP 的朋友知道,转换以后的 URL http://www.CRL.com/index.jsp?brand=mycompany, 已经将 mycompany 作为一个参数 brand, 传递给了 index.jsp(通常一个 jsp 网站的首页)。而 index.jsp 拿到这个参数以后,就可以提取出 branding 信息。举个 index.jsp 的例子:
- ››通过远程管理更改ESXi主机root用户密码
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››apache rewrite将指定URL转向指定的几个服务器
- ››通过JS得到当前焦点(鼠标)的坐标
- ››通过Mysql命令行语句来导入、导出数据库文件
- ››配置MySQL出错The service could not be started....
- ››配置apache虚拟主机
- ››通过查看mysql 配置参数、状态来优化你的mysql
- ››apache配置文件httpd.comf部分参数说明
- ››Apache+Mysql+PHP+phpMyAdmin+Mac OS X 10.7 Lion...
- ››通过oracle的sys密码重置其它密码
- ››apache+tomcat负载均衡_项目实例
更多精彩
赞助商链接