1、将重定向至。
一旦选择了带WWW的为主域名,今后就不要随意更改,方法如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^$ [NC]
RewriteRule ^(.*)$ /$1 [L,R=301]
上面这一句话是从反面来写的:如果域名不是带WWW的,就统一301跳转到带WWW的域名中去
2、如果需要将域名从跳转到,则可以使用一下代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^$ [NC]
RewriteRule ^(.*)$ /$1 [L,R=301]
3、如果需要变更域名,即将老域名换成全新的域名,但是网页内容与结构不变,则可以使用以下代码来实现:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !$ [NC]
RewriteRule ^(.*)$ /$1 [L,R=301]
如果是带WWW的域名间跳转,则以此类推,在域名前加上WWW即可。
以上方法是所有的域名都跳转到指定的网站,有时候可能不需要某些域名跳转,可以用如下的方式:
把不带www的域名301到带www的域名
RewriteEngine On
RewriteCond %{http_host} ^$ [NC]
RewriteRule ^(.*)$ /$1 [R=301,L]
“RewriteEngine On”,开启 Rewrite 规则开关;
“RewriteCond”指重写的条件。后面的字符串通过正则表达式进行匹配,匹配字符串以 ^ 开头并以 $ 结尾。此处 %{http_host} 获取当前主机名称。条件为“当主机名称为”时执行下列的重写规则。其中“[NC]”指不区分大小写;
“RewriteRule”,定义一条重写规则。此处含义:跳转到“/”接上访问请求的网址中 后面的部分。[R=301] 指重写为 301 重定向/跳转([R] 单指跳转,意义等同 [R=302]),[L] 指最后一条匹配规则。
把老域名301到新域名
更换域名时,老域名的权重不能浪费了,把老域名的顶级域名和带www的域名都要301到新域名,代码如下
RewriteEngine On
RewriteCond %{http_host} ^(www.)?$ [NC,OR]
RewriteCond %{http_host} ^$ [NC]
RewriteRule ^(.*)$ /$1 [R=301,L]
现在无论你访问,,都会301到 够完美了吧!而且所有的内页也会跟着301,接下来至少等待1个月,期间不要删除原域名,静等权重完全转移!
如果觉得《php伪静态后301 php伪静态htaccess实现301重定向方法》对你有帮助,请点赞、收藏,并留下你的观点哦!