您现在的位置是:首页 > 服务器搭建服务器搭建

阿里云服务器如何设置网站301重定向

瓶子2019-07-28【服务器搭建】人已围观

简介301重定向是一项非常重要的重定向手段,它可以将网页扩展名、网页地址、网站域名等进行重定向,使用户能够访问到你指定的网站内容。
很多情况下你会用到301重定向,例如:调整网站目录结构、更换新域名、多域名指向同一网站等。

301重定向

在网络上,重定向(Redirect)就是通过各种方法将网络访问转移到其它位置(例如:网页重定向、域名的重定向)。
301重定向是一项非常重要的重定向手段,它可以将网页扩展名、网页地址、网站域名等进行重定向,使用户能够访问到你指定的网站内容。



哪些情况下你需要用到301重定向呢?
 
1.网站调整(如调整了网站目录结构)
2.网址被永久迁移到了新地址
3.域名失效,更换到新域名
4.多域名指向同一实际网站
5.改变网页扩展名
6.将xxx.com域名重定向到www.xxx.com,引导用户使用标准万维网格式域名
 
包括但不限于我列举的这些情况,你都会需要用到301重定向。那么301重定向到底如何设置呢?
 

简单的主域名的301重定向

最简单的一种情况,如果你只需重定向网站的主域名,我们看一个耳熟能详的网站京东,如果你访问http://jingdong.com,会被重定向到https://www.jd.com/
如果你想实现这种效果,且域名都在同一个阿里云账号下,在阿里云后台即可实现。
我们在阿里云控制台,找到自己的主机,然后进入主机管理控制台

在主机管理控制台,找到 基础环境设置 ⇒ 301重定向。选择想要被重定向的源域名和重定向的目标域名,设置即可。


如果想要网站下的所有目录文件都重定向到新目录,怎么办呢?
我与阿里云的技术支持确认过,控制台的301重定向设置只能重定向主域名链接,不能重定向目录链接。

.htaccess配置301重定向

这里就要用到一个神奇的技术,Apache的Mod Rewrite模块(Linux/Unix均可),它是一个配置脚本.htaccess,有很多用法。
这个配置脚本是一份规则列表,告知服务器需要做一些什么,将它放在网站根目录下即可生效。

例如,我想将php后缀的网页重定向到html,配置如下:

RewriteEngine On
RewriteRule ^test\.html$ test.php

test.html即由test.php重定向产生。

举例几个实际的使用场景。
A.如果一个网站对应多个域名,怎么让多个域名同时指向一个网站?
域名就像一个门牌号, 是用户在互联网上认知记忆一个网站的方式,比如京东以前用360buy.com,看起来京东像跟360有什么关系,所以京东斥巨资买下了jd.com这个短域名。
很多大公司为了品牌保护,会额外注册一些容易误认的域名,京东就同时购买了jingdong.com,防止误解和被利用流量。

如果我有xx1 xx2 xx3 xxn 很多域名,把它全部绑定到主机上不就可以了?NO。
之所以这样不行,是因为多个域名会分摊网站的权重,导致单个域名在搜索引擎的权重降低,影响搜索的自然排名。
这里也需要用到配置脚本.htaccess,我们可以建立xx1 xx2 xx3 xxn多个站点,在xx2 xx3 xxn的站点上分别配置.htaccess,重定向到xx1。

Redirect permanent / http://www.xx1.com/

B.主域名和www域名并存
一个网站搭建起来后,最常使用的域名有两种,主域名格式、万维网格式,例如我的网站有 pintuan001.com 和 www.pintuan001.com



网站通常对这两种格式都会支持,这里同样会导致搜索引擎的权重分摊问题,如果想将网站全目录的访问都规范到www域名,也要用到.htaccess配置。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^pintuan001.com
RewriteRule ^(.*)$ http://www.pintuan001.com/$1 [R=permanent,L]

你可以在我的网站尝试 pintuan001.com    www.pintuan001.com ,都会被引导到 www域名下。

C.强制重定向到https
另外,我的网站还配置了https,因此无论你访问 http://pintuan001.com 还是 http://www.pintuan001.com ,都会跳转到https协议下。
强制跳转https,可以避免http和https重复页面导致权重问题,同时搜索引擎对https有一定倾向的支持。
这里有两种实现方式,一是在https配置中打开 http->https 的强制跳转,二是通过.htaccess配置,将目录301重定向到https。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^pintuan001.com
RewriteRule ^(.*)$ https://www.pintuan001.com/$1 [R=permanent,L]


如果你也想给自己的网站配置一下https,可以查看我的另一篇帖子 阿里云配置免费https全套图文教程 。

好了,到这里就对301重定向有了一个清楚的认识,接下来我还会讲一讲301和302、cname的区别。

Tags:

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

站点信息

  • 建站时间:2019-05-01
  • 网站程序:帝国CMS7.5
  • 文章统计45篇文章
  • 微信公众号:关注最新拼团信息