文章目录
- 301状态码通常在那些情况下使用
- 301永久重定向配置
- Nginx配置301永久重定向
- Windows配置IIS301永久重定向
- PHP下的301重定向
- Apache服务器实现301重定向
- 301重定向是否违反相关法规?
- 推荐阅读
当用户或搜索引擎向服务器发出浏览请求时,服务器返回的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永久重定向
- 在IIS里把网站正常发布,例如域名为www.aaa.com。
- 在硬盘上建一个空文件夹。
- 在IIS里建一个网站,例如域名为aaa.com,指向新建的空文件夹。
- 在网站的主页,选择“HTTP重定向”,具体参数设置如下:
- 勾选“将请求重定向到此目标”。
- 重定向地址:www.aaa.com S S SQ
- 勾选“将所有请求重定向到确切的目标(而不是相对于目标)”。
- 状态代码:永久(301)。
PHP下的301重定向
PHP重定向参考代码如下:
<?php
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.domainname.com"); //跳转到带www的网址
?>
Apache服务器实现301重定向
Apache服务器域名的重定向。参考代码如下:
deny from all
RewriteEngine on
RewriteCond %{HTTP_HOST}^(****\.com)(:80)?[NC]
RewriteRule ^(.*) http://www.domainname.com/$1[R=301,L]
order deny,allow
最后,验证您的301重定向是否按预期工作。您可以通过访问旧页面URL来检查是否已成功重定向到新页面。
301重定向是否违反相关法规?
301重定向是网站服务器之间的“通知”机制,而不是“访问”机制。它是一种HTTP协议的服务器端行为,是服务器告诉浏览器的一种方法,在服务器上做了某些事情之后,浏览器应该被重定向到新的URL。
根据《互联网信息服务管理办法》规定,国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。因此,网站主办者在申请网站许可或者备案之前,不得擅自从事互联网信息服务。
总之,301重定向不会违反互联网相关法规。
推荐阅读
- ERR_CONNECTION_REFUSED等非标准的HTTP错误状态码原因分析和解决办法
- 佳节发好文,详细解读HTTP错误状态码503 Service Unavailable等产生原因及解决办法
- HTTP状态码504(Gateway Timeout)报错原因分析和解决办法
- HTTP状态码301(永久重定向)不同Web服务器的配置方法