301重定向不会设置?看这一篇就够了

重定向是建站当中一个很常用的功能。比如网站更换域名了,需要把老域名用301的方式重定向到新域名。这样可以迅速把权重转移到新域名,使得新站的排名尽量代替原网站的排名,使网站损失减少到最小程度。

除了更换域名,网站某个文件夹或者文件有变动的时候,也可以使用重定向功能。比如你把论坛从www.****.com/bbs/移动到了 bbs.****.com 就需要重定向一下。

重定向有两种,分别介绍一下:

301 redirect:

301代表永久性转移(Permanently Moved),301转向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做重定向。

以下一些情况下可以使用301重定向:

  • 将旧网址重定向到新网址
  • 设置多个域名指向同一个网站
  • 只执行一个版本的地址(www或没有www),即将不带www的域名指向www域名
  • 协调URL结构变化

302 redirect:

302代表暂时性转移(Temporarily Moved ),以前不少Black Hat SEO(黑帽SEO)曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,所以推荐用301,这个是最符合seo方式的重定向。不会被搜索引擎k,可以最大限度减少您更换域名带来的影响。

在实际操作过程中有多种方法可以实现301重定向的目的:

一、PHP单页重定向

重定向一个静态页面,只需要将以下代码写入 index.php文件中。

<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.newdomain.com/page.html”);
exit();
?>

二、PHP Canonical 重定向

Canonical 301重定向将增加或减少所有页面的www前缀,下面这串代码可以实现将http://*****.com 定向到http:www.*****.com。

<?php
if (substr($_SERVER[“HTTP_HOST”],0,3) != “www”) {
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.”.$_SERVER[“HTTP_HOST”]
.$_SERVER[“REQUEST_URI”]);
}
?>

三、 .htaccess 重定向

使用Apache重定向需要将代码写进.htaccess文件。

以下将详细讲一讲如何通过修改.htaccess进行301重定向。注意:在设置301重定向之前务必备份相应目录下的.htaccess文件。

1.重定向yourdomain.com到www. yourdomain.com

这种重定向主要目的是为了实现网站访问路径的唯一性,对于网站SEO至关重要。

打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,如果是子域名需要将主域名修改为子域名)

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www. yourdomain.com$ [NC]

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

重定向带www的域名到不带www的域名可以反向操作:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^ yourdomain.com$ [NC]

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

2.重定向老域名到新域名:

重定向olddomain.com到newdomain.com

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]

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

3、如果新老域名的网页结构发生变化,可以使用以下方法重定向:

重定向olddomain.com/file/file.php 到 newdomain.com/otherfile/other.php

RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule ^file/file.php$ http://www.newdomain.com/otherfile/other.php [R=301,L]

4、http301转向到https:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

除了以上通过代码设置301转向之外,我们还可以通过网站管理系统的面板中进行301重定向:

1、Cpanel301重定向:

虚拟主机大多数使用cpanel面板,那么我们可以面板中找到:

301重定向

2、宝塔面板301重定向:

301转向

以上就是网站域名进行301设置的几种方法,基本上我们需要的设置情况都在里面包括了,大家可以自己试一下。设置301转向之后我们可以通过下面的在线工具检测301设置是否成功:

https://www.seoconsultants.com/tools/www-redirect-checker

 

赞(1)
转载注明:楚狂人 » 301重定向不会设置?看这一篇就够了