实战实现apache服务内部URL地址跳转

来源:互联网 发布:企业用电量查询数据库 编辑:程序博客网 时间:2024/06/01 09:27


#########################################################
#《老男孩linux就业培训中心》rewrite课程之实现URL地址的内部跳转案例分享
#date:2011-07-22
#作者:老男孩
#QQ:31333741
#QQ交流群:45039636   
#blog: http://oldboy.blog.51cto.com
#psite: http://oldboy.cc(即将开放)
#pblog:http://blog.etiantian.org
##########################################################
问题2:实现www.etiantian.org跳转到www.oldboy.cc 要求地址栏为www.etiantian.org不变(该跳转为内部跳转,需使用apache的proxy代理功能)
   
描述:在实现了URL地址的301跳转后(参见http://oldboy.blog.51cto.com/2561410/620701),
需求部门人员,又发来要求,要求输入www.etiantian.org出来的内容是www.oldboy.cc的内容,
但是地址栏里的地址还要求是www.etiantian.org

实现解答:
以上需求可使用apache的proxy功能实现:
[安装proxy模块]
在apache中添加proxy模块
/application/apache/bin/apxs -c -i -a mod_proxy.c proxy_util.c
/application/apache/bin/apxs -c -i -a /home/oldboy/tools/httpd-2.2.15/modules/proxy/mod_proxy_http.c

[检查安装的模块]
查看apache的配置文件httpd.conf中有以下两行就行了,modules目录下应该也多了两个mod_proxy.so,mod_proxy_http.so模块。
LoadModule proxy_module         modules/mod_proxy.so
LoadModule proxy_http_module  modules/mod_proxy_http.so

然后配置httpd-vhost.conf
<VirtualHost *:80>
    ServerAdmin 31333741@qq.com
    DocumentRoot "/var/www/oldboy"
    ServerName www.etiantian.org
 RewriteEngine on
 RewriteCond %{HTTP_HOST} ^www.etiantian.org [NC]
 RewriteRule ^(.*)$  http://www.oldboy.cc$1  [P]
</VirtualHost>
提示:其他不相关配置省略。

本文出自 “老男孩的linux博客” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/623296

原创粉丝点击