apache中的rewrite规则代码均写在<IfModule mod_rewrite.c>模块下
[root@xmj ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 清空配置加入以下内容
<VirtualHost *:80>
DocumentRoot "/data/www"
<IfModule mod_rewrite.c>
RewriteEngine On #打开rewrite功能
RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.bbb.com$
RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]
</IfModule>
</VirtualHost>
去掉这两行的#号
[root@xmj www]# /usr/local/apache2.4/bin/apachectl -t 检查语法错误
[root@xmj www]# cd /data/www/
[root@xmj www]# vim index.html 加入一些内容
[root@xmj www]# vim /etc/hosts 加解析
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.6.189 www.aaa.com
192.168.6.189 www.bbb.com
192.168.6.189 www.test.com
[root@xmj www]# /usr/local/apache2.4/bin/apachectl restart 重启下
[root@xmj www]# curl www.aaa.com 测试返回码301,并已经跳转至test
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.test.com/">here</a>.</p>
</body></html>
[root@xmj www]# curl www.test.com
hello world
[root@xmj www]# curl -i www.test.com 显示详细内容,代码为正常的200
HTTP/1.1 200 OK
Date: Tue, 29 Sep 2020 07:34:20 GMT
Server: Apache/2.4.46 (Unix)
Last-Modified: Tue, 29 Sep 2020 07:16:37 GMT
ETag: "c-5b06e9050fb99"
Accept-Ranges: bytes
Content-Length: 12
Content-Type: text/html
hello world
windows下添加DNS解析
在C:\WINDOWS\system32\drivers\etc\目录下,编辑hosts文件,
添加如下所示记录
218.17.2x6.XXX XXX.XXX.com
即可。