LAMP 架构——域名跳转

域名跳转分类及区别

种类

301 表示永久跳转;302 表示临时跳转

区别

  • 使用效果不同
  • 302 跳转是暂时的跳转,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回 302 代码,搜索引擎认为新的网址只是暂时的。
  • 301 重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。
  • SEO 使用方式不同 在搜索引擎优化中 302 跳转被众多黑帽 SEO 优化人员追求,对网站进行恶意 302 跳转至非用户目标访问网站,因此搜索引擎对于网站的 302 跳转通常是比较不友好,所以要慎用 302 跳转!

SEO

SEO(Search Engine
Optimization)搜索引擎优化,在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量,从而达成网站销售及品牌建设的预期目标。


具体步骤如下

需求,把 dl.com 域名跳转到www.dl.com,配置如下:

1,编辑虚拟主机配置文件

[root@dl-001 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/111.com"
    ServerName 111.com
    ServerAlias www.example.com

     
    <IfModule mod_rewrite.c>     //需要mod_rewrite模块支持
        RewriteEngine on      //打开rewrite功能
        RewriteCond %{HTTP_HOST} !^111.com$      //定义rewrite的条件,主机名(域名)不是www.123.com满足条件
        RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]    //定义rewrite规则,当满足上面的条件时,这条规则才会执行,301表示永久跳转;302表示临时跳转。
    </IfModule>
    ErrorLog "logs/111.com-error_logo"
    CustomLog "logs/111.com-access_log" common
</VirtualHost>

2,重新加载并检查系统配置

[root@dl-001 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@dl-001 ~]# /usr/local/apache2.4/bin/apachectl graceful    
[root@dl-001 ~]#  /usr/local/apache2.4/bin/apachectl -M |grep rewrite    //查看是否加载rewrite
Syntax OK
 rewrite_module (shared)

如果rewrite没有加载,需要编辑Apache配置文件“httpd.conf”:
[root@dl-001 ~]#  vim /usr/local/apache2.4/conf/httpd.conf     //没有加载说明注释掉了,需要把#删除就行了
。。。。。。。
LoadModule rewrite_module modules/mod_rewrite.so
。。。。。。。。
[root@dl-001 ~]# /usr/local/apache2.4/bin/apachectl graceful

3,测试

  • 使用 Curl 测试:
[root@dl-001 ~]# curl -x192.168.66.128:80 www.example.com -I
HTTP/1.1 301 Moved Permanently
Date: Wed, 20 Dec 2017 16:02:27 GMT
Server: Apache/2.2.34 (Unix) DAV/2 PHP/5.6.30
Location: http://111.com/
Content-Type: text/html; charset=iso-8859-1