当用户或搜索引擎向服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中包含状态码301,以向用户表示该资源已经永久改变了位置。
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
PHP重定向参考代码如下:
<?php
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.domainname.com"); //跳转到带www的网址
?>
通过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>
保存配置文件,并重启apache2服务,使得配置生效。
sudo systemctl reload apache2 # For Ubuntu/Debian
最后,验证您的301重定向是否按预期工作。您可以通过访问旧页面URL来检查是否已成功重定向到新页面。
301重定向是网站服务器之间的“通知”机制,而不是“访问”机制。它是一种HTTP协议的服务器端行为,是服务器告诉浏览器的一种方法,在服务器上做了某些事情之后,浏览器应该被重定向到新的URL。
根据《互联网信息服务管理办法》规定,国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。因此,网站主办者在申请网站许可或者备案之前,不得擅自从事互联网信息服务。
总之,301重定向不会违反互联网相关法规。