发布于 2016-01-06 08:17:53 | 138 次阅读 | 评论: 0 | 来源: PHPERZ
LAMP Web服务器套件
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永久域名重定向了。