免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7367 | 回复: 13
打印 上一主题 下一主题

[Web] apache如何实现基于正则表达式的反向代理或者重定向 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-10 17:58 |只看该作者 |倒序浏览
比如我有一个网站www.a.com,现在将www.b.com,www.c.net域名解析都解析到www.a.com所在的服务器IP,他们拥有相同的IP。

现在要求访问www.b.com实际访问www.a.com/b,访问www.c.net实际访问www.a.com/c,但是用户看到的浏览器URL不变

具体如何实现呢?

www.a.com已经加到
NameVirtualHost *:80
<VirtualHost *:80>
   ServerName www.a.com
</VirtualHost>

其他的域名该怎么办呢?能否基于正则表达式?以后可能还会解析更多的域名过来,都要求这样映射的。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
2 [报告]
发表于 2013-04-11 09:59 |只看该作者
本帖最后由 wenhq 于 2013-04-11 10:05 编辑

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule www\.(.*)\.com$ http://www.domain.com/$1 [R=permanent,L]

参考http://man.chinaunix.net/newsoft ... c/rewriteguide.html

论坛徽章:
0
3 [报告]
发表于 2013-04-11 10:47 |只看该作者
回复 2# wenhq


    rewrite不是地址重写么?这样的话用户看到的URL会改变的啊。
这种情况下应该用redirect??

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
4 [报告]
发表于 2013-04-11 10:55 |只看该作者
nginx 的proxypass也可以啊。

论坛徽章:
0
5 [报告]
发表于 2013-04-11 10:58 |只看该作者
回复 4# wenhq


    apache也有这个,是反向代理,一直不太明白反向代理和redirect访问重定向有什么不同

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
6 [报告]
发表于 2013-04-11 11:00 |只看该作者
你访问外网,如果内部是私有IP,那有可能用到代理。
如果是服务器,需要访问内部资源,就是反向代理。
rewrite是重写,跟反向代理有什么关系?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
7 [报告]
发表于 2013-04-11 14:42 |只看该作者
本帖最后由 chenyx 于 2013-04-11 17:18 编辑

<VirtualHost *:80>
ServerName  www.b.com
   DocumentRoot A的Documentroot/b
</VirtualHost>
试试添加这个看看

论坛徽章:
0
8 [报告]
发表于 2013-04-11 16:44 |只看该作者
回复 7# chenyx


    那段乱码是怎么回事?
而且有没有一种基于正则表达式的实现方式?如果每次新加域名了都这么搞的话工作量会加大,而且每次都需要对新域名建立虚拟主机,需要down掉服务使配置生效,不是很合适

论坛徽章:
0
9 [报告]
发表于 2013-04-11 16:46 |只看该作者
回复 6# wenhq


    地址重写的话是不是浏览器的URL地址栏也会发生改变?有没有办法让用户的URL地址栏不变呢?用户感觉访问的还是www.b.com,实际是从www.a.com/b获取数据

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
10 [报告]
发表于 2013-04-11 17:22 |只看该作者
乱码是因为粘贴的时候带进来的,当时没有,我也不知道怎么回事.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP