当公司的网站更新了新的站点域名,希望原有的域名依旧能够提供服务,这时就需要使用域名跳转。用户访问原有域名时,自动跳转到新的域名,访问新域名所对应的网站页面。
1、修改虚拟主机配置
1
2
3
4
5
6
7
8
9
10
|
[root@juispan ~]
# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot
"/data/www/abc.com"
ServerName abc.com
<IfModule mod_rewrite.c>
##需要mod_rewrite模块支持
RewriteEngine on
##打开rewrite功能
RewriteCond %{HTTP_HOST} !^abc.com$
##定义rewrite的条件
RewriteRule ^(/.*)$ http:
//www
.baidu.com/$1 [R=301,L]
##定义rewrite规则
<
/IfModule
>
<
/VirtualHost
>
|
2、检查重新加载
1
2
3
4
5
6
7
8
|
[root@juispan ~]
# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@juispan ~]
# /usr/local/apache2.4/bin/apachectl graceful
[root@juispan ~]
# /usr/local/apache2.4/bin/apachectl -M | grep -i rewrite
[root@juispan ~]
# vi /usr/local/apache2.4/conf/httpd.conf
LoadModule rewrite_module modules
/mod_rewrite
.so
##解除注释启用
[root@juispan ~]
# /usr/local/apache2.4/bin/apachectl -M | grep -i rewrite
rewrite_module (shared)
|
3、验证测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
[root@juispan ~]
# curl -x127.0.0.1:80 abc.com -I ##-I:不显示站内内容,只显示状态码
HTTP
/1
.1 200 OK
Date: Fri, 21 Jul 2017 09:34:55 GMT
Server: Apache
/2
.4.27 (Unix) PHP
/7
.1.6
X-Powered-By: PHP
/7
.1.6
Content-Type: text
/html
; charset=UTF-8
[root@juispan ~]
# curl -x127.0.0.1:80 abcd.com -I
HTTP
/1
.1 301 Moved Permanently
##301 跳转
Date: Fri, 21 Jul 2017 09:35:01 GMT
Server: Apache
/2
.4.27 (Unix) PHP
/7
.1.6
Location: http:
//abc
.com/
Content-Type: text
/html
; charset=iso-8859-1
[root@juispan ~]
# curl -x127.0.0.1:80 abcd.com/123.php -I
HTTP
/1
.1 301 Moved Permanently
Date: Fri, 21 Jul 2017 09:39:00 GMT
Server: Apache
/2
.4.27 (Unix) PHP
/7
.1.6
Location: http:
//abc
.com
/123
.php
Content-Type: text
/html
; charset=iso-8859-1
|
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1952800
,如需转载请自行联系原作者