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

lamp默认虚拟主机和301跳转

时间:2016-12-16 23:27:30      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:301   lamp   vhost   

在实验中我们发现,无论我们使用哪个域名都可以的,而且出现一个情况,我们只是在hosts文件中将某一域名与自己的ip对应,配置中并没有这个域名,也可以登录我们的discuz界面,这个并不是我们想要的。所以我们需要设定一个默认虚拟主机来将诸如此类的访问拦截。


我们只需要在配置文件httpd-vhost.conf中,在我们设置的虚拟主机前再添加一个,配置如下。

# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

   DocumentRoot "/tmp/123"

   ServerName 2142.com

</VirtualHost>

# mkdir /tmp/123

# chmod 000 /tmp/123

# /usr/local/apache2/bin/apachectl -t

# /usr/local/apache2/bin/apachectl start

这是我们会发现上方提到的域名访问不到我们的discuz,但同时我们又发现一个问题,我们设置三个域名,虽然可以成功访问,但是主页域名不相同,这个不符合我们的正常思维,而且这个会影响搜索

所以这里使用301域名跳转的方法,虽然3个域名都可以访问,但是会跳转到一个我们指定的域名

例如,www.aaa.com访问,进入后会自动跳转到www.test.com

配置如下,写入第二个虚拟主机内

# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.bbb.com$

RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]

</IfModule>

运用了rewrite模块,无论使用3个域名的哪个访问,都会跳转至www.test.com

# /usr/local/apache2/bin/apachectl -t

# /usr/local/apache2/bin/apachectl start


测试

# curl -x127.0.0.1:80 www.aaa.com -I

HTTP/1.1 301 Moved Permanently

Date: Thu, 17 Nov 2016 19:05:32 GMT

Server: Apache/2.2.31 (Unix) PHP/5.6.28

Location: http://www.test.com/

Content-Type: text/html; charset=iso-8859-1

成功


本文出自 “Liew” 博客,请务必保留此出处http://walterliew.blog.51cto.com/11286797/1883498

lamp默认虚拟主机和301跳转

标签:301   lamp   vhost   

原文地址:http://walterliew.blog.51cto.com/11286797/1883498

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