问题:如果有多个域名指向我们的网站,搜索引擎无法判断到底哪一个是主,哪一个是次;我们需要帮搜索引擎去识别

解决思路:确定唯一性,域名不是唯一的,我们就人为的去把你变成唯一的,方法是使用跳转


配置过程:

1. 给一个域名做跳转,比如访问www.aaa.com时跳转到www.test.com去

首先通过apachectl -M 查看 rewrite_module (shared) 是否被加载,然后在虚拟主机配置文件里添加rewrite模块并修改:


    #301跳转

    <IfModule mod_rewrite.c>

        RewriteEngine on

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

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

    </IfModule>

说明:/(.*)就是www.aaa.com/后面跟的子目录或者文件;把/(.*)作为一个整体,用$1去标记指代/(.*);L表示跳转以后结束;301代表永久重定向,302代表临时重定向,最好使用301,对SEO有好处


2. 给多个域名做跳转,比如www.aaa.com, www.bbb.com, www.ccc.com 都可以指向到www.test.com

    #301跳转

    <IfModule mod_rewrite.c>

        RewriteEngine on

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

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

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

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

    </IfModule>

说明:相邻域名之间要添加[OR]代表或者,否则apache会认为这三个域名同时存在才会进行跳转


3. 以上配置完成后,apachectl graceful 一下,就可以尝试在浏览器里看看是否正常跳转了呢

如果不放心的话,也可以用linux自带的curl来进行测试,很好用的一款工具:

[root@kevin ~]# curl www.ccc.com -I

HTTP/1.1 301 Moved Permanently

Date: Sat, 06 Aug 2016 01:52:19 GMT

Server: Apache/2.2.31 (Unix) PHP/5.4.36

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

Content-Type: text/html; charset=iso-8859-1


大功告成LAMP - 域名的301重定向_ lamp