域名跳转

域名跳转 :

域名跳转就不多说了,几乎大家都知道,就是一个老的域名跳转到一个新的域名,例如当大家访问我的www.okay686.com的时候其实会自动跳转到www.okay686.cn

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/test3.com"
    ServerName www.test3.com
    ServerAlias www.haha.com
   #<Directory /data/wwwroot/test3.com> 
  # <FilesMatch 123.php> 
  # AllowOverride AuthConfig 
  # AuthName "test3.com user auth" 
  # AuthType Basic 
  # AuthUserFile /data/.htpasswd  
  # require valid-user 
  # </FilesMatch>
   #</Directory>

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^www.test3.com$
        RewriteRule ^/(.*)$ http://www.test3.com/$1 [R=301,L]
    </IfModule>


    ErrorLog "logs/haha.com-error_log"
    CustomLog "logs/haha.com-access_log" common
</VirtualHost>

如上注释的部分就是咱们上节课做的单页面二次认证,我们将其注释掉,然后如下是我们的重点:

<IfModule mod_rewrite.c>     //需要mod_rewrite模块支持
        RewriteEngine on    //打开rewrite功能
        RewriteCond %{HTTP_HOST} !^www.test3.com$      //定义rewrite的条件,主机名(域名)不是www.test3.com满足条件
        RewriteRule ^/(.*)$ http://www.test3.com/$1 [R=301,L]     //定义rewrite规则,当满足上面的条件时,这条规则才会执行
</IfModule>

也就是说 当我们输入www.haha.com时就会默认跳转到www.test3.com

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -M| grep rewrite

[[email protected] ~]# vim /usr/local/apache2.4/conf/httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so


查看系统有没有加载rewrite模块;如果没有就启动
搜索一下 /rewrite模块!去掉前面的#即可。

然后再次确认下:

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -M| grep rewrite
 rewrite_module (shared)

然后我们测试下:

[[email protected] ~]# curl -x127.0.0.1:80 www.haha.com -I
HTTP/1.1 301 Moved Permanently
Date: Mon, 31 Jul 2017 15:16:13 GMT
Server: Apache/2.4.27 (Unix) PHP/7.1.6
Location: http://www.test3.com/
Content-Type: text/html; charset=iso-8859-1

-I:不显示站内内容,只显示状态码即可,已经成功显示成301

再次测试页面是否也是跳转的:

[[email protected] ~]# curl -x127.0.0.1:80 www.haha.com/asd.php -I
HTTP/1.1 301 Moved Permanently
Date: Mon, 31 Jul 2017 15:18:17 GMT
Server: Apache/2.4.27 (Unix) PHP/7.1.6
Location: http://www.test3.com/asd.php
Content-Type: text/html; charset=iso-8859-1

页面也是跟着一起跳转!

域名+页面重定向完结!


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Coding+

[转]如何初始化Java Web应用程序的log4j

原文:http://www.codejava.net/coding/how-to-initialize-log4j-for-java-web-applicati...

1071
来自专栏草根专栏

使用Identity Server 4建立Authorization Server (3)

上一部分简单的弄了个web api 并通过Client_Credentials和ResourceOwnerPassword两种方式获取token然后进行api请...

3376
来自专栏应兆康的专栏

可视化数据库MapD安装——GPU模式

Filename: MapD_GPU模式安装.md Author: YingJoy Website: https://www.yingjoy.cn QQ: 14...

5199
来自专栏Ryan Miao

重定向Http status code 303 和 302

http 302 http 303 Http 302 302是一个普通的重定向代码。直观的看来是,请求者(浏览器或者模拟http请求)发起一个请求,然后服务端重...

5335
来自专栏杂烩

spring安全框架Security(二) 转

首先是<security:authentication-manager>是指定我们自定义的身份验证策略,这里我们用customUserDetailsServ...

1113
来自专栏lgp20151222

常用的http网页错误代码表---------495引发的一个简单到爆,但基于国内环境只能呵呵呵的血案

然后,正常的跑去百度,看了一堆还是没有完整的网页错误代码,应该说国内的环境的网页错误代码表只有官方的那几个,那么只能FQ了。

5433
来自专栏一场梦

Servlet HTTP 状态码大全列表

1323
来自专栏Ryan Miao

HTTP status code

被一个问题耽搁了好久,最后才恍然。这是关于HTTP status的。 使用feign进行http请求,结果总是抛出异常: read 405.由于不了解feign...

4577
来自专栏V站

Servlet HTTP 状态码大全列表

状态行包括 HTTP 版本(在本例中为 HTTP/1.1)、一个状态码(在本例中为 200)和一个对应于状态码的短消息(在本例中为 OK)。

1692
来自专栏玩转JavaEE

SpringBoot+SpringSecurity处理Ajax登录请求

最近在项目中遇到了这样一个问题:前后端分离,前端用Vue来做,所有的数据请求都使用vue-resource,没有使用表单,因此数据交互都是使用JSON,后台使用...

5375

扫码关注云+社区

领取腾讯云代金券