apache域名跳转-阿里云开发者社区

开发者社区> 开发与运维> 正文

apache域名跳转

简介:

域名跳转总结

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

域名跳转试验

[root@chy ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 
<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/111.com"
    ServerName www.111.com
    ServerAlias www.exaple.com
    #<Directory /data/wwwroot/111.com>
     #<filesMatch 123.php>
      #AllowOverride AuthConfig
      #AuthName "111.com user auth"
        #AuthType Basic
       # AuthUserFile /data/.htpasswd
      #  require valid-user
     # </FilesMatch>
      #</Directory>
     <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^www.123.com$
        RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L]
</IfModule>
    #ErrorLog "logs/dummy-host2.example.com-error_log"
    #CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
(以上是配置,以下是具体的配置说明:
<IfModule mod_rewrite.c> //需要mod_rewrite模块支持
        RewriteEngine on  //打开rewrite功能
        RewriteCond %{HTTP_HOST} !^www.111.com$  //定义rewrite的条件,主机名(域名)不是www.111.com满足条件
        RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行,其中301是永久跳转,302是只跳转一次。L的意思是跳转一次后就结束
</IfModule>
[root@chy ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite
(查看是否加载了模块)
[root@chy ~]# vi /usr/local/apache2.4/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
(在主配置文件里面找到rewrite_module模块将#号去掉,然后在查看是否有模块)
[root@chy ~]# curl -x127.0.0.1:80 222.com -I
HTTP/1.1 301 Moved Permanently
Date: Sun, 30 Jul 2017 23:17:17 GMT
Server: Apache/2.4.27 (Unix) PHP/7.1.6
Location: http://111.com/
Content-Type: text/html; charset=iso-8859-1
(测试域名跳转成功)

以上测试是在centos7系统下完成




     本文转自我不是瘦子51CTO博客,原文链接:http://blog.51cto.com/chy940405/2047868,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章