设为首页 收藏本站
查看: 595|回复: 0

[经验分享] apache域名跳转

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-19 08:50:40 | 显示全部楼层 |阅读模式
一个站点难免会有多个域名,而多个域名总得有一个主次!譬如说有两个网站www.test2.com和[url]www.abc.com[/url],我们运行时不管是用那一个总会跳转到www.test2.com上,那么这个行为就叫作域名跳转!

以apache为例说明怎么设置一个域名跳转:
基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意的是,必须在每个virtualhost里用RewriteEngine on来打开rewrite功能,否则virtualhost里没有RewriteEngine on它里面的规则也不会生效!

设置一个域名301跳转,使www.abc.com跳转到[url]www.test2.com[/url]
1
2
3
4
5
6
在虚拟主机中加入以下配置:
<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.abcde.com$
        RewriteRule ^/(.*)$ http://www.test2.com/$1 [R=301,L]
   </IfModule>



然后检查下看是否有错误:
1
2
[iyunv@nulifendou ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK



若出现 Syntax OK,则表示未出现错误。然后重启,在浏览器里实验:
RewriteEngine on #打开rewirte功能
     RewriteCond %{HTTP_HOST} ^www.abcde.com [NC] #声明Client请求的主机中前缀是www.abcde.com, 其中 [NC] 的意思是忽略大小写
     RewriteCond %{HTTP_HOST} !^202.91.246.20 [NC] #声明Client请求的主机中前缀不是202.91.246.20,其中 [NC] 的意思是忽略大小写
     RewriteCond %{HTTP_HOST} !^$ #声明Client请求的主机中前缀不为空
     RewriteRule ^(.*) http://www.tset2.com/ [R=301,L] #含义是如果Client请求的主机中的前缀符合上述条件,则直接进行跳转到http://www.test2.com/,[L]意味着立即停止重写操作,并 不再应用其他重写规则。这里的.*是指匹配所有URL中不包含换行字符,()括号的功能是把所有的字符做一个标记,以便于后面的应用.就是引用前面里的 (.*)字符。R=301表示状态码,301表示永久重定向,302表示临时重定向!
设置多个域名的跳转:
1
2
3
4
5
6
<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.abcde.com[OR]//or表示或者的意思,如果不加则是且的意思!  
        RewriteCond %{HTTP_HOST} ^www.abc.com$
        RewriteRule ^/(.*)$ http://www.test2.com/$1 [R=301,L]
   </IfModule>



Apache Rewrite规则修正符
1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联

如果规则匹配则正常处理,以下修正符无效

8) T=MIME-type(force MIME type) 强制MIME类型
9) NS 只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符 \%3d$1 等价于 =$1



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-140919-1-1.html 上篇帖子: apache日志切割 下篇帖子: Apache配置及优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表