Apache服务器使用htaccess301重定向

Apache服务器使用htaccess301重定向

CludeChn
2015-04-10 / 0 评论 / 275 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2015年04月10日,已超过3318天没有更新,若内容或图片失效,请留言反馈。

分享一下apache服务器使用htaccess实现301重定向的规则代码。由于nginx服务器对基于动态php语言的wordpress程序执行效率大打折扣,导致服务器cpu常常被php-fpm进程占满卡死,于是将博客的运行环境切换成了apache,瞬间解决了这个老大难问题! 个人博客绑定了很多个域名,但主域名一直是www.YunHe.me,所以需要将其他域名通过301重定向到主域名来避免博客权重的流失。apache与nginx设置301重定向还是有相当大的区别,apache服务器只需将重定向代码保存为名为空后缀为.htaccess的文件,并保存在网站根目录即可。 例子一:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.yunhe.me$ [NC]
RewriteRule ^(.*)$ http://www.yunhe.me/$1 [L,R=301]

以上代码实现了:凡是通过非www.yunhe.me (第2行中的www.yunhe.me)访问过来的域名,均会转向到www.yunhe.me(第3行中的www.yunhe.me)这个域名; 参数说明:

其中第2行中的 !^www.yunhe.me$ :
! 叹号表示域名的开始;
^ 尖号表示非,即不是以 xxx 开头的;
$ 符号表示域名的结尾。
由此可以看出 !^www.yunhe.me$ 表达的意思就是访问到你服务器的域名不是完全与www.yunhe.me相同的域名,就会满足判断的条件,进而触发跳转的操作了。

例子二:

RewriteEngine On
RewriteBase / RewriteCond %{HTTP_HOST} !www.yunhe.pw$ [NC]
RewriteRule ^(.*)$ http://www.yunhe.me$1 [L,R=301]

假如需要更换域名,只需将原域名www.yunhe.pw换成新域名www.yunhe.me就可以这样写; 例子三:

RewriteEngine On
RewriteBase / RewriteCond %{HTTP_HOST} !yunhe.me$ [NC]
RewriteRule ^(.*)$ http://www.yunhe.me$1 [L,R=301]

假如要yunhe.me全部跳转到 www.yunhe.me可以这样写。

© 原文地址: http://www.amznz.com/apache-htaccess-301/

0

评论 (0)

取消