apache_rewrite详解[2]

时间 : 14-10-26 栏目 : linux运维 作者 : 老薛 评论 : 0 点击 : 1,186 次

10、生产实例:

[基本]

例1、当用户访问www.bdkyr.com 使其跳转到http://woaimaidong.blog.chinaunix.net

实际环境:www.baidu.cn/com; www.taobao.cn/com www.360safe.com/www.360.cn

目的:使用户每一次访问都有效,提高网站访问量,产生更大的商业价值

操作步骤:

1)  配置虚拟主机woaimaidong.blog.chinaunix.net

cd /application/apache/conf

vi httpd.conf +391

#Include conf/extra/httpd-vhosts.conf#将注释符去掉,使vhost生效

cd extra

cp httpd-vhosts.conf httpd-vhosts.conf.xk.`date +%Y%m%d` #备份,养成习惯

   vi httpd-vhosts.conf#编辑配置文件,建立woaimaidong.blog.chinaunix.net虚拟主机

#注释掉已有的虚拟主机,或者删除掉,或者在现有的基础上改,初期的时候,建议注释掉

然后增加如下配置:

<VirtualHost *:80>

ServerAdmin 812711277@qq.com

DocumentRoot "/application/apache2.2.17/htdocs"

ServerName woaimaidong.blog.chinaunix.net

ErrorLog "|/usr/local/sbin/cronolog /application/apache/logs/woaimaidong.blog.chinaunix.net.error_log"

CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/%Y/%m/%d/woaimaidong.blog.chinaunix.net-access_w_%Y%m%d%H.log" combined

</VirtualHost>

保存退出

#检查配置文件是否修改有误

[root@lamp-001 extra]# /application/apache/bin/apachectl -t

Syntax OK #说明OK

在虚拟主机目录创建一个html文件

echo maidong >index.html

重新启动apache,注意启动方式graceful

/application/apache/bin/apachectl graceful

2)修改本本的hosts,增加如下内容,然后保存。#一个Ip不能绑定两个一级域名

192.168.15.10 woaimaidong.blog.chinaunix.net

3)访问测试

http://woaimaidong.blog.chinaunix.net #注意观察是不是你要的结果

4)再次修改配置文件,增加www.bdkyr.com虚拟主机,同时开启rewrite功能

cp httpd-vhosts.conf httpd-vhosts.conf.xk.`date +%Y%m%d%S`#备份

vi httpd-vhosts.conf #编辑配置文件

<VirtualHost *:80>

ServerAdmin 812711277@qq.com

ServerName www.bdkyr.com

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.bdkyr.com [NC]

RewriteRule ^/(.*) http://woaimaidong.blog.chinaunix.net/$1 [L]

ErrorLog "logs/www.bdkyr.com-error_log"

CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/%Y/%m/%d/www.bdkyr.com_%Y%m%d%H.log" combined

#RewriteLog /tmp/rewrite.log #开启日志功能

#RewriteLogLevel 3 #日志级别

</VirtualHost>

说明:

RewriteEngine on #打开rewirte功能

RewriteCond %{HTTP_HOST} ^www.bdkyr.com [NC] #声明Client请求的主机中前缀是www.bdkyr.com,[NC] no case忽略大小写

RewriteRule ^(.*) http://woaimaidong.blog.chinaunix.net/ [L] #含义是如果Client请求的主机中的前缀符合上述条件,则直接进行跳转到http://woaimaidong.blog.chinaunix.net/,[L]意味着立即停止重写操作,并不再应用其他重写规则。这里的.*是指匹配所有URL中不包含换行字符,()括号的功能是把所有的字符做一个标记,以便于后面的应用.就是引用前面里的(.*)字符。

#检查配置

[root@lamp-001 extra]# /application/apache/bin/apachectl -t

Syntax OK

5)修改本本hosts配置文件

192.168.15.10 www.bdkyr.com

6)输入http:/www.bdkyr.com,进行访问测试

例2

如果网页URL变更或者其它需要跳转时,最好的方法就是301永久重定向

操作步骤:

1)  编辑httpd-vhosts.conf

cp httpd-vhosts.conf httpd-vhosts.conf.xk.`date +%Y%m%d%s` #备份

vi httpd-vhosts.conf #编辑,增加如下配置

shift+g 复制如下文件,然后ctrl+v

#2008.maidong.com 301

<VirtualHost *:80>

ServerAdmin 812711277@qq.com

ServerName 2008.maidong.com

RewriteEngine on

RewriteCond %{http_host} ^2008.maidong.com [NC]

RewriteRule (.*) http://woaimaidong.blog.chinaunix.net/olympic/olpc.html [R=301,NC,NE,L]

ErrorDocument   404 http://woaimaidong.blog.chinaunix.net

</VirtualHost>

#检查配置

/application/apache/bin/apachectl -t #千万不要怕麻烦,一定要检查,确认没问题。

/application/apache/bin/apachectl graceful #优雅重启

2)输入http://2008.maidong.com测试

例3、将输入 123.maidong.cn 的域名时跳转到woaimaidong.blog.chinaunix.net

操作步骤:

2)  编辑httpd-vhosts.conf

cp httpd-vhosts.conf httpd-vhosts.conf.xk.`date +%Y%m%d%s` #备份

vi httpd-vhosts.conf #编辑,增加如下配置

<VirtualHost *:80>

ServerAdmin 812711277@qq.com

ServerName 123.maidong.com

RewriteEngine on

RewriteCond %{HTTP_HOST} ^123.maidong.cn [NC]

RewriteRule ^(.*) http://woaimaidong.blog.chinaunix.net/ [L]

</VirtualHost>

本文标签

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/xtyw002/317.html

apache_rewrite详解[2]:等您坐沙发呢!

发表评论

3 + 0 = ?


博主微信号,很高兴为您提供帮助

随便看看

为您推荐

0