微信公众号 |  新浪微博 | 5分享社区

5分享

类别:
当前位置: 主页 > 技术圈 > 程序开发 >

php伪静态htaccess实现301重定向方法

时间:2018-07-26 09:11来源:原创 作者:5分享 点击:
在很多情况下,网站都需要进行301重定向。比如网站整个更换了域名,比如网站结构或目录发生了移动,比如需要将某个域名上的文件迁移到另外的域上等等。

1、将5sharing.com重定向至www.5sharing.com

一旦选择了带WWW的为主域名,今后就不要随意更改,方法如下:

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


上面这一句话是从反面来写的:如果域名不是带WWW的,就统一301跳转到带WWW的域名中去


2、如果需要将域名从www.5sharing.com跳转到5sharing.com,则可以使用一下代码:

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


3、如果需要变更域名,即将老域名换成全新的域名,但是网页内容与结构不变,则可以使用以下代码来实现:

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


如果是带WWW的域名间跳转,则以此类推,在域名前加上WWW即可。


以上方法是所有的域名都跳转到指定的网站,有时候可能不需要某些域名跳转,可以用如下的方式:


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


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,接下来至少等待1个月,期间不要删除原域名,静等权重完全转移!


欢迎关注【5分享】(fivsha)公众号获取更多帮助和资讯。   

5分享公众号.jpg

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
网名:
验证码:点击我更换图片
最新评论