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>

WEBRESOURCEebc0d3db2af5ad8fb9431c89ebd6e

解释说明:

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