码迷,mamicode.com
首页 > 其他好文 > 详细

域名跳转

时间:2018-05-13 10:46:20      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:域名跳转

技术分享图片

首先打开虚拟主机配置文件,输入命令 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf,回车,见下图,
技术分享图片
更改上图红色框框的内容,保存并退出。
这边用到一个模块 mod_rewrite,编译 apache 时用到的 most,它会把大多数的模块都编译进来,如果没有加任何参数,mod_rewrite 模块也不会出现。RewriteEngine 是否打开,on 就是打开的意思,打开了后面的配置才会生效。RewriteCond 定义条件,定义什么时候才会跳转,当域名不是 111.com 的时候就会跳转,现在就是以 111.com 为主域名。!表示取反,^ 表示开头,$ 表示结尾。定义开头和结尾,就是为了避免把所有包含 111.com 的域名都匹配进去。举个例子,如果不定义开头和结尾,像 2111.com.cn 这种域名的就会匹配进去,所以定义开头和结尾是必要的。RewriteRule 定义规则,^ 表示除去域名之外的部分,/ 表示域名里面的 /,(.) 表示域名中 / 的后面部分。后面的网址就是要跳转的网址,$1表示前面的第一个小括号就是 (.) ,[R=301,L] 中的R=301表示定义一个状态码301,L 表示只跳一次就结尾。
更改完配置文件,需要重新加载一下,见下图,
技术分享图片
在测试之前,还要先检查一下 apache 是不是加载了 rewrite 模块,使用命令 /usr/local/apache2.4/bin/apachectl -M |grep rewrite。没有加载的话,就要进入配置文件里面打开。 vim /usr/local/apache2.4/conf/httpd.conf,回车,搜索 /rewrite,见下图,
技术分享图片
把红色框框的这一行,取消前面的#注释,保存并退出。接着往下操作,见下图,
技术分享图片
这个时候就可以测试了。先来看一下虚拟主机配置文件的结构,输入命令 cat /usr/local/apache2.4/conf/extra/httpd-vhosts.conf,回车,见下图,
技术分享图片
可以看到,第二个虚拟主机里面有三个域名,来尝试访问 2111.com.cn,输入命令 curl -x127.0.0.1:80 2111.com.cn -I,回车,见下图,
技术分享图片
301是永久跳转,404表示页面不存在。命令 curl -x127.0.0.1:80 2111.com.cn/12345.php -I 中的 2111.com.cn/12345.php 是随便写入的,没有这个位置。但是也实现跳转到了 http://111.com/12345.php 这个位置。后面使用命令 curl -x127.0.0.1:80 http://111.com/12345.php -I 访问的时候,就显示页面不存在。还有,301是临时跳转,401是用户密码验证不对,用户密码验证对了就是200。输入命令 curl -x127.0.0.1:80 http://111.com/123.php -I,回车,见下图,
技术分享图片
状态码还有很多,以后碰到了再说,这边不多做解释。
以上就是域名跳转,也叫做域名重定向。

域名跳转

标签:域名跳转

原文地址:http://blog.51cto.com/13503302/2115586

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!