什么是301重定向?301转跳怎么做?


笔记1003 阅1 评

网站该用 www 的域名还是不带 www 域名?

很多人不理解为什么要用自己网站的域名做 301 重定向,有些同学不知道怎么最好的使用域名,随意解析,这很不利于搜索引擎收录和优化还有用户的体验。

建议首选带 www 的域名,很多大型网站如百度、新浪、腾讯这些打开后都是 www 为域名前缀。

什么是 301 重定向?

301 转向(或叫 301 重定向,301 跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的 HTTP 数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。301 重定向主要是将需要转移的网址重定向另一个新的网址上,并且是永久性转移。

如白鸽小屋中域名 sccens.net 可以看到自动跳转到 www.sccens.net 这样的效果就是 301 重定向。

除了 301 转向,网址转向还有其他方法,如 302 转向、JavaScript 转向、PHP/ASP/CGI 程序转向、Meta Refresh 等。

如何实现转跳

这边分享两种方法,一种是使用.htaccess 文件修改,另一种是宝塔 Linux 面板自带的 301 重定向。

  • htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sccens.net [NC]
RewriteRule ^(.*)$ http://www.sccens.net/$1 [L,R=301]

注:设置.htaccess 文件(只适用于 Apache,并且需要虚拟主机支持)

  • 宝塔面板转跳

宝塔面板中自带 301 重定向选项,非常简单。
登录宝塔面板,进入网站,进入 301 重定向

1

我是把不带 www 的域名 301 重定向到 www 域名上。

所以访问域名是不带 www 的域名,如果添加了 SSL 证书,记得目标 URL 前缀改为 https。

PHP 实现自动转跳

<?php
    if ($_SERVER['HTTP_HOST'] <> "www.sccens.net")
  {
    $xredir = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    header("Location: ".$xredir);
  }
?>

修改第二行的 www.sccens.net 改为你自己的域名(带 www),然后第四行的 https://,如果你开启了 HTTPS 则不用修改,如果你没有 HTTPS 则修改为 http://。
然后添加到 header.php 文件的顶部即可

最后更新 2023-11-07
评论 ( 1 )
OωO
隐私评论
  1. 你这网站是不是有段时间关闭了@(滑稽),怎么我自动截图截出来的是502好像

    2年前回复