Apache服务器htaccess301重定向如何实现



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

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

例子一:

RewriteEngine On

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

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

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

例子二:


RewriteEngine On

RewriteBase / RewriteCond %{HTTP_HOST} !www.duliboke.com$ [NC]
RewriteRule ^(.*)$ http://www.amznz.com$1 [L,R=301]

假如需要更换域名,只需将原域名 www.duliboke.com 换成新域名 www.amznz.com 就可以这样写;

例子三:

RewriteEngine On

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

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