ECS实例中如何设置WEB服务的域名301重定向

ECS实例中如何设置WEB服务的域名301重定向

贡献者:

KB小秘书

 · 

更新时间:2019-08-09 17:50:38

提示: 这是一篇由阿里云ACE开发者(Alibaba Cloud Engineer)贡献,针对特定用户问题发布的文章。文档的内容以原稿呈现,阿里云对于文档内容不做任何形式的承诺。阿里云有权在未经通知的情形下对文档内容做出任何形式的修改。

概述

本文介绍在ECS实例中,如何设置WEB服务的域名301重定向。

 

详细描述

用户告知

301跳转通常用在网站换域名和为了保持链接统一性所用的。比如原来的域名www.a.com现在换成www.b.com。用了301跳转后,访问www.a.com/about.html就会自动变成www.b.com/about.html。

 

解决方案

下面分别对不同场景下使用301跳转的设置方法进行介绍,操作如下。

 

IIS下301设置

Internet信息服务管理器 > 选择目标站点 > HTTP 重定向,勾选 将请求重定向到此目标,输入需要转向的目标URL。勾选 仅将请求重定向到此目录(非子目录)中的内容状态代码 选择 永久(301)

 

ASP下的301转向代码

<%@ Language=VBScript %>
<% Response.Status="301 Moved Permanently"
Response.AddHeader "Location","跳转后的域名"
Response.End
%>

 

PHP下的301转向代码 

header(”HTTP/1.1 301 Moved Permanently”);  
header(”Location: http://www.xxx.com/”);  
exit();

 

Apache下301转向代码

新建.htaccess文件,输入下列内容(需要开启mod_rewrite)。

  1. 将不带WWW的域名转向到带WWW的域名下
    Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^youdomain.com [NC] RewriteRule ^(.*)$ http://www.youdomain.com/$1 [L,R=301]
  2. 重定向到新域名
    Options +FollowSymLinks  
    RewriteEngine on  
    RewriteRule ^(.*)$  http://www.youdomain.com/$1 [L,R=301]
  3. 使用正则进行301转向,实现伪静态
    Options +FollowSymLinks RewriteEngine on RewriteRule ^news-(.+)\.html$ news.php?id=$1 将news.php?id=123这样的地址转向到news-123.html

 

适用于

  • 云服务器 ECS
  • 87

    发布KB

  • 585

    回答问题

  • 4

    粉丝数