天天看点

阿里云服务器配置301重定向教程301重定向简单的主域名的301重定向.htaccess配置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重定向教程301重定向简单的主域名的301重定向.htaccess配置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]

你可以在我的网站尝试

,都会被引导到 www域名下。

C.强制重定向到https

另外,我的网站还配置了https,因此无论你访问

http://pintuan001.com

还是

http://www.pintuan001.com

,都会跳转到https协议下。

强制跳转https,可以避免http和https重复页面导致权重问题,同时搜索引擎对https有一定倾向的支持。

这里有两种实现方式,一是在https配置中打开 http->https 的强制跳转,二是通过.htaccess配置,将目录301重定向到https。

RewriteRule ^(.*)$ https://www.pintuan001.com/$1 [R=permanent,L]

如果你也想给自己的网站配置一下https,可以查看我的另一篇帖子

阿里云配置免费https全套图文教程

继续阅读