LAMP之配置域名跳转

  继上篇《LAMP之禁止默认虚拟主机》,需要再配置域名跳转,httpd-vhosts.conf配置如下

<VirtualHost *:80>
    DocumentRoot "/data/www"
    ServerName www.vixia.com
    ServerAlias www.123.com
  <Directory /data/www/abc/>
    AllowOverride AuthConfig
    AuthName "?"
    AuthType Basic
    AuthUserFile /data/.htpasswd
    require valid-user
  </Directory>
  <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.123.com$
        RewriteRule ^/(.*)$ http://www.vixia.com/$1 [R=301,L]
  </IfModule>
</VirtualHost>

 www.vixia.com和www.123.com都可以访问到web服务器,但是www.vixia.com是主域名,www.123.com是次域名,我们需要进行域名权重,提升www.vixia.com的PR值(网页级别),将www.123.com跳转到www.vixia.com上。

<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.123.com$
        RewriteRule ^/(.*)$ http://www.vixia.com/$1 [R=301,L]
  </IfModule>

添加上面内容,利用rewrite可以将www.123.com跳转到www.vixia.com上。

如果是多个域名,

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.domain.com [OR]
        RewriteCond %{HTTP_HOST} ^www.domain1.com$
        RewriteRule ^/(.*)$ http://www.domain2.com/$1 [R=301,L]
    </IfModule>
或者:    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^www.domain2.com$
        RewriteRule ^/(.*)$ http://www.domain2.com/$1 [R=301,L]
    </IfModule>

[root@test4 ~]# curl www.123.com -I
HTTP/1.1 301 Moved Permanently
Date: Thu, 31 Dec 2015 11:03:19 GMT
Server: Apache/2.2.31 (Unix) PHP/5.6.6
Location: http://www.vixia.com/
Content-Type: text/html; charset=iso-8859-1

可以看出www.123.com已经301永久域名重定向了。

你可能感兴趣的:(lamp,虚拟主机,require)