RewriteEngine On
RewriteCond %{http_host} ^example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
“RewriteEngine On”,开启 Rewrite 规则开关;
“RewriteCond”指重写的条件。后面的字符串通过正则表达式进行匹配,匹配字符串以 ^ 开头并以 $ 结尾。此处 %{http_host} 获取当前主机名称。条件为“当主机名称为example.com”时执行下列的重写规则。其中“[NC]”指不区分大小写;
“RewriteRule”,定义一条重写规则。此处含义:跳转到“http://www.example.com/”接上访问请求的网址中 example.com 后面的部分。[R=301] 指重写为 301 重定向/跳转([R] 单指跳转,意义等同 [R=302]),[L] 指最后一条匹配规则。
把老域名301到新域名
更换域名时,老域名的权重不能浪费了,把老域名的顶级域名和带www的域名都要301到新域名,代码如下
RewriteEngine On
RewriteCond %{http_host} ^(www.)?old.com$ [NC,OR]
RewriteCond %{http_host} ^new.com$ [NC]
RewriteRule ^(.*)$ http://www.new.com/$1 [R=301,L]
现在无论你访问old.com,www.old.com,new.com都会301到www.new.com 够完美了吧!而且所有的内页也会跟着301,接下来至少等待2个月,期间不要删除原域名,静等权重完全转移!
需要注意的是,wordpress默认情况下不支持该条命令,因为wordpress的网址本身就是伪静态的,要想实现这个功能,必须先把wordpress的内页生成html文件。
IIS 6中的.htaccess 301定向
以下规则适用于 IIS 6中的 ISAPI_Rewrite 2.x 3.x 中的httpd.ini或.htaccess
注意这儿的.htaccess不是apache中的.htaccess 规则略有不同。
1、IIS下的301设置在Internet信息服务管理器—>虚拟目录—>重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。在IIS中,也可以通过安装ISAPIRewrite组件来实现如Apache中mod_rewrite的功能,详见ISAPIRewrite3下载及常用301规则。2、ASP下的301跳转代码:3、ASP.Net下的301跳转代码:4、PHP下的301跳转代码:header(”HTTP/1.1301MovedPermanently”)header(”Location:106/”)exit()5、CGIPerl下的301跳转代码:$q=newCGIprint$q->redirect(””)6、JSP下的301跳转代码:7、Apache下301跳转代码:新建.htaccess文件,输入下列内容(需要开启mod_rewrite):1)将不带[NC]RewriteRule^(.*)$$1[L,R=301]2)重定向到新域名:Options+FollowSymLinksRewriteEngineonRewriteRule^(.*)$$1[L,R=301]3)使用正则进行301跳转,实现伪静态:Options+FollowSymLinksRewriteEngineonRewriteRule^news-(.+)\.html1将news.php?id=123这样的地址转向到news-123.html8、Apache下vhosts.conf中配置301跳转:为了实现URL规范化,通常将不带RedirectMatchpermanent^/(.*)$1欢迎分享,转载请注明来源:夏雨云
评论列表(0条)