一个网站难免会有多个域名,而多个域名总得有一个主次。只要定义好了主域名,不管用哪个域名都会跳转到主域名上来。那么这个行为就叫做域名跳转,也可以叫重定向,这里的301只是一个状态码。跳转除了301还有302。301是永久重定向(域名跳转用301)302是临时重定向。

[root@qiangzi www]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

在对应的虚拟主机配置文件中加入

  RewriteEngine on

  RewriteCond %{HTTP_HOST} ^www.aaa.com$

  RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]

如果是多个域名,可以这样设置:

  RewriteEngine on

  RewriteCond %{HTTP_HOST} ^www.aaa.com$[OR]

  RewriteCond %{HTTP_HOST} ^www.test.com/bbs$

  RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]

 

重启Apache之后,在浏览器访问www.aaa.com会直接跳转到www.test.com。如果想快速测试效果,其实可以直接在Linux命令行下使用curl命令。  

#curl -x 192.168.1.148:80  www.aaa.com/随便写 -I(大i)

HTTP、1.1 301 Moved Permanently

Server: nginx/1.0.15

Connection: keep-alive

Date: Thu,20 Aug 2015 14:12:56 GMT

Content-Type:text/html

Content-Length: 185

Location: http://www.test.com/随便

X-Upstream-Echo-Time:53