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

本文涉及的产品
.cn 域名,1个 12个月
简介: 当用户或搜索引擎向服务器发出浏览请求时,服务器返回的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重定向不会违反互联网相关法规。

目录
相关文章
|
7天前
|
弹性计算 数据库 数据安全/隐私保护
阿里云服务器真香宝典之Calibre-Web个人图书馆云端部署
在阿里云ECS(2核2G,SSD40G,3M带宽)上,安装Ubuntu 22.04,然后配置Docker和FTP。创建 `/config` 和 `/books` 目录,设置权限,开放端口,拉取 `johngong/calibre-web` Docker镜像,以`calibre-web`命名容器,映射端口,配置环境变量,挂载卷,确保重启策略。本地安装Calibre客户端,上传metadata.db到服务器。在Calibre-web服务端配置数据库,启用上传权限,修改管理员账户信息。完成配置后,开始上传电子书并进行阅读。
87 2
阿里云服务器真香宝典之Calibre-Web个人图书馆云端部署
|
3天前
|
监控 安全 应用服务中间件
如何搭建高效的Web服务器:技术指南与实践
【7月更文挑战第24天】搭建一个高效的Web服务器需要综合考虑多个方面,包括选择合适的操作系统、安装合适的Web服务器软件、进行配置优化、加强安全防护以及实施性能监控。通过不断地优化和调整,可以确保Web服务器在高负载下仍能保持稳定和高效的运行,为用户提供优质的访问体验。
|
7天前
|
Java Linux 应用服务中间件
Windows和Linux的最佳Web服务器
【7月更文挑战第20天】Windows和Linux的最佳Web服务器
20 3
|
8天前
|
存储 开发框架 安全
如何选择合适的Web服务器?
【7月更文挑战第19天】如何选择合适的Web服务器?
20 2
|
8天前
|
JavaScript Java 应用服务中间件
Web服务器的发展历程?
【7月更文挑战第19天】Web服务器的发展历程?
17 2
|
8天前
|
存储 缓存 监控
Web服务器
【7月更文挑战第19天】Web服务器
15 2
|
15天前
|
监控
查看服务器/IIS日志、log、访问信息基本方法
除了手动查看,你也可以使用日志分析工具,如Log Parser、AWStats等,这些工具可以帮助你更方便地分析日志数据。
8 1
|
21天前
|
网络协议 应用服务中间件 nginx
Nginx的http块sendfile,keepalive_timeout的配置指令说明
Nginx的http块sendfile,keepalive_timeout的配置指令说明
|
14天前
|
网络协议 安全 Python
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
|
22天前
|
前端开发 Java 应用服务中间件
C/S和B/S架构以及Web服务器
C/S和B/S架构以及Web服务器
22 0

热门文章

最新文章