HTTP状态码301(永久重定向)不同Web服务器的配置方法

简介: 当用户或搜索引擎向服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中包含状态码301,以向用户表示该资源已经永久改变了位置。

@[TOC]
当用户或搜索引擎向服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中包含状态码301,以向用户表示该资源已经永久改变了位置。

301状态码通常在那些情况下使用

301状态码通常适合如下几个场景中去使用:

  • 网站内容发生更改
    如果网站中的页面被永久性地移动到其他位置,就可以使用301状态码来告诉搜索引擎,这个页面已经被永久地移动到其他位置。
  • 网站域名更改
    如果网站域名发生了更改,就可以使用301状态码来告诉搜索引擎,这个网站的域名已经更改。
  • 网站重命名
    如果网站中的某个页面被重命名,就可以使用301状态码来告诉搜索引擎,这个页面的URL已经更改。
  • 网站删除
    如果网站中的某个页面被删除,就可以使用301状态码来告诉搜索引擎,这个页面已经不存在了。
  • 网站合并
    如果两个或多个网站合并成一个新的网站,就可以使用301状态码来告诉搜索引擎,这些网站已经合并成一个新的网站。
  • 其他
    任何你想用户访问网站时,自动为用户导航到另外一个新的网站时,就可以合理配置301状态码来实现。

301永久重定向配置

Nginx配置301永久重定向

sudo vim /etc/nginx/nginx.conf
location ~ ^/old_url/(.*)$ {
   
   
    return 301 $scheme://www.domainname.com/new_url/$1;
}

需要将old_url替换为您要重定向的旧页面的URL路径,将new_url替换为新页面的URL路径,并将www.domainname.com替换为您的域名。“ :wq!”保存并关闭文件。 并重新加载Nginx配置以使更改生效:

sudo service nginx reload

Windows配置IIS301永久重定向

  1. 在IIS里把网站正常发布,例如域名为www.aaa.com。
    1. 在硬盘上建一个空文件夹。
    2. 在IIS里建一个网站,例如域名为aaa.com,指向新建的空文件夹。
    3. 在网站的主页,选择“HTTP重定向”,具体参数设置如下:
    • 勾选“将请求重定向到此目标”。
    • 重定向地址:www.aaa.com$S$Q
    • 勾选“将所有请求重定向到确切的目标(而不是相对于目标)”。
    • 状态代码:永久(301)。
      image.png

      PHP下的301重定向

      PHP重定向参考代码如下:
      <?php
      Header("HTTP/1.1 301 Moved Permanently");
      Header("Location: http://www.domainname.com"); //跳转到带www的网址
      ?>
      

Apache服务器实现301重定向

Apache服务器域名的重定向

通过VIM编辑器对配置文件进行配置:

sudo vim /etc/apache2/apache2.conf

config 配置修改参考代码如下:

<VirtualHost *:80>
    ServerName domainname.com
    ServerAlias www.domainname.com

    RewriteEngine On
    RewriteRule ^/old-path$ http://newdomainname.com/new-path [R=301,L]
</VirtualHost>
  • ServerName 和 ServerAlias 应设置为您的域名。
  • RewriteRule 行定义了重定向规则,其中 /old-path 是旧的URL路径,http://newdomainname.com/new-path 是新的目标URL。 [R=301,L] 部分指示执行永久重定向(301)并停止进一步的重写规则处理。

    保存配置文件并重新加载Apache

    保存配置文件,并重启apache2服务,使得配置生效。
    sudo systemctl reload apache2   # For Ubuntu/Debian
    

最后,验证您的301重定向是否按预期工作。您可以通过访问旧页面URL来检查是否已成功重定向到新页面。

301重定向是否违反相关法规?

301重定向是网站服务器之间的“通知”机制,而不是“访问”机制。它是一种HTTP协议的服务器端行为,是服务器告诉浏览器的一种方法,在服务器上做了某些事情之后,浏览器应该被重定向到新的URL。

根据《互联网信息服务管理办法》规定,国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。因此,网站主办者在申请网站许可或者备案之前,不得擅自从事互联网信息服务。

总之,301重定向不会违反互联网相关法规。

目录
相关文章
|
11月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
752 4
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
373 16
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
829 18
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
658 14
|
JSON 前端开发 Go
Go语言实战:创建一个简单的 HTTP 服务器
本篇是《Go语言101实战》系列之一,讲解如何使用Go构建基础HTTP服务器。涵盖Go语言并发优势、HTTP服务搭建、路由处理、日志记录及测试方法,助你掌握高性能Web服务开发核心技能。
|
Go
如何在Go语言的HTTP请求中设置使用代理服务器
当使用特定的代理时,在某些情况下可能需要认证信息,认证信息可以在代理URL中提供,格式通常是:
789 0
|
存储 安全 数据安全/隐私保护
HFS-快速创建HTTP服务器
鉴于HFS的操作简便和方便快捷,它在满足快速,临时的文件分享和传输需求上,能够发挥出巨大的作用。只要明确了以上的安全警告,并做好了必需的安全设置,HFS将是一款实用的HTTP服务器工具。
1738 9
|
Web App开发 监控 前端开发
|
Web App开发 存储 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
一、引言   最近在整理理大数据模式下的数据仓库数据模型,资料来自互联网和读过的数据仓库理论和实践相关。 二、3NF (1)1NF-无重复的列   数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
965 0
|
Web App开发 前端开发 Java