Apache服务器使用htaccess301重定向


分享一下apache服务器使用htaccess实现301重定向的规则代码。由于nginx服务器对基于动态php语言的wordpress程序执行效率大打折扣,导致服务器cpu常常被php-fpm进程占满卡死,于是将博客的运行环境切换成了apache,瞬间解决了这个老大难问题!

个人博客绑定了很多个域名,但主域名一直是www.YunHe.me,所以需要将其他域名通过301重定向到主域名来避免博客权重的流失。apache与nginx设置301重定向还是有相当大的区别,apache服务器只需将重定向代码保存为名为空后缀为.htaccess的文件,并保存在网站根目录即可。

例子一:

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

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

参数说明:

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

例子二:

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

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

例子三:

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

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

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

声明:YunHe.ME | 云和の小屋|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Apache服务器使用htaccess301重定向


想我所愿,勇往直前,不畏艰险,有远大志向