当前位置:首页 » Apache技术知识

Apache配置――域名301跳转

2017-01-01 18:15 本站整理 浏览(9)
www.test.com可以访问论坛,www.aaa.com也可以访问论坛,这两个肯定要分一个主次,意思是说虽然有两个域名都可以访问站点,但是我只需要有一个域名去给大家提供服务就可以了。为了区分主次,有一种方法,也就是域名的跳转,比如说我们访问www.aaa.com ,我们让它默认跳到www.test.com去。
## 修改配置文件
[root@wy ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com$
RewriteRule ^/(.*)$http://www.test.com/$1 [R=301,L]
</IfModule>

解释说明:
mod_rewrite 此模块rewrite_module (shared)
RewriteEngine 引擎
RewriteCond 匹配条件 %{HTTP_HOST}主机名
多个域名跳转
① RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.bbbb.com$
② RewriteCond %{HTTP_HOST} !^www.test.com$(取反,只要不是此域名全跳转)
RewriteRule 设置匹配规则
301表示重定向跳转(永久)302(临时)
L即last,表示结束了,结束语
## 修改配置文件后测试且重新加载
[root@wy ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[root@wy ~]# /usr/local/apache2/bin/apachectl graceful
## 测试
[root@wy ~]# curl -x192.168.219.128:80 www.aaa.com -I
HTTP/1.1 301 Moved Permanently
Date: Sun, 23 Aug 2015 09:13:16 GMT
Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28
Location:http://www.test.com/ Content-Type: text/html; charset=iso-8859-1
[root@wy ~]# curl -x192.168.219.128:80 www.bbb.com -I
HTTP/1.1 301 Moved Permanently
Date: Mon, 31 Oct 2016 23:30:03 GMT
Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28
Location:http://www.test.com/ Content-Type: text/html; charset=iso-8859-1
## 若出现401问题,是因为用户名密码认证:
[root@wy www]# curl -u wyy:123456 -x192.168.219.128:80 www.aaa.com/abc -I
本文出自 “linux” 博客,转载请与作者联系!