LAMP架构八( Apache域名跳转301)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sj349781478/article/details/84531193

 八、Apache域名跳转

当我们变更网站域名,或者申请多个域名指向一个网站的时候,这个时候我们就会用到域名跳转(或者叫域名重定向redirect、域名转向)。

域名跳转试验配置,访问域名不是a.com  www.aa.com 的全部跳转至baidu。

[root@global ~]# vim  /etc/httpd/conf.d/virtual.conf

<VirtualHost *:8090>
DocumentRoot "/data/www"
ServerName www.a.com
ServerAlias www.aa.com
ServerAlias www.aaa.com

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^a.com$
RewriteCond %{HTTP_HOST} !^www.aa.com$
RewriteRule ^/(.*)$ http://www.baidu.com/$1 [R=301,L]
</IfModule>
ErrorLog "logs/a.com-error_log"
CustomLog "logs/a.com-access_log" common
</VirtualHost>

[root@global conf.d]# /usr/sbin/apachectl -t  

[root@global conf.d]# /usr/sbin/apachectl graceful


以上是配置,配置说明如下:
<IfModule mod_rewrite.c>   //需要mod_rewrite模块支持
        RewriteEngine on        //打开rewrite功能
        RewriteCond %{HTTP_HOST} !^www.a.com$    //定义rewrite的条件,主机名(域名)不是www.a.com即可满足条件
        RewriteRule ^/(.*)$ http://www.baidu.com/$1 [R=301,L]   //定义rewrite规则,当满足上面的条件时,这条规则才会执行,其中301是永久
跳转,302是只跳转一次。L的意思是跳转一次后就结束
</IfModule>


[root@global conf.d]# /usr/sbin/apachectl -M |grep rewrite    (查看是否加载了模块)
 rewrite_module (shared)

[root@global ~]# curl -x172.24.10.59:8090  a.com -I

(测试域名跳转)

猜你喜欢

转载自blog.csdn.net/sj349781478/article/details/84531193