.htaccess的301重定向代码

2017-01-21 13:46:57 17238

1.  把不带www的域名301到带www的域名

RewriteEngine On

RewriteCond %{http_host} ^example.com$ [NC]

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

说明:“RewriteEngine On”,开启 Rewrite 规则开关;

“RewriteCond”指重写的条件。后面的字符串通过正则表达式进行匹配,匹配字符串以 ^ 开头并以 $ 结尾。此处 %{http_host} 获取当前主机名称。条件为“当主机名称为example.com”时执行下列的重写规则。其中“[NC]”指不区分大小写;

“RewriteRule”,定义一条重写规则。此处含义:跳?到“http://www.landui.com/”接上访问请求的网址中 example.com 后面的部分。[R=301] 指重写为 301 重定向/跳转([R] 单指跳转,意义等同 [R=302]),[L] 指最后一条匹配规则。

2.  把老域名301到新域名

更换域名时,老域名的权重不能浪费了,把老域名的顶级域名和带www的域名都要301到新域名,代码如下:

RewriteEngine On

RewriteCond %{http_host} ^(www.)?old.com$ [NC,OR]

RewriteCond %{http_host} ^new.com$ [NC]

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

现在无论你访问old.com,www.landui.com,new.com都会301到www.landui.com,而且所有的内页也会跟着301,接下来至少等待2个月,期间不要删除原域名,静等权重完全转移!

需要注意的是,wordpress默认情况下不支持该条命令,因为wordpress的网址本身就是伪静态的,要想实现这个功能,必须先把wordpress的内页生成html文件。

3.  IIS 6中的.htaccess 301定向

以下规则适用于IIS6中的“ISAPI_Rewrite 2.x”和“ISAPI_Rewrite 3.x”中的httpd.ini或.htaccess。

注意这儿的.htaccess不是apache中的.htaccess 规则略有不同。

RewriteCond %{HTTP:Host} ^landui.com$

RewriteRule (.*) http://www.landui.com/$1 [NC,R=301]

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: