当用户或搜索引擎向服务器发出浏览请求时,服务器返回的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重定向不会违反互联网相关法规。