很多人不理解为什么要用自己网站的域名做 301 重定向,有些同学不知道怎么最好的使用域名,随意解析,这很不利于搜索引擎收录和优化还有用户的体验。
建议首选带 www 的域名,很多大型网站如百度、新浪、腾讯这些打开后都是 www 为域名前缀。
301 转向(或叫 301 重定向,301 跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的 HTTP 数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。301 重定向主要是将需要转移的网址重定向另一个新的网址上,并且是永久性转移。
如白鸽小屋中域名 sccens.net 可以看到自动跳转到 www.sccens.net 这样的效果就是 301 重定向。
除了 301 转向,网址转向还有其他方法,如 302 转向、JavaScript 转向、PHP/ASP/CGI 程序转向、Meta Refresh 等。
这边分享两种方法,一种是使用.htaccess 文件修改,另一种是宝塔 Linux 面板自带的 301 重定向。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sccens.net [NC]
RewriteRule ^(.*)$ http://www.sccens.net/$1 [L,R=301]
注:设置.htaccess 文件(只适用于 Apache,并且需要虚拟主机支持)
宝塔面板中自带 301 重定向选项,非常简单。 登录宝塔面板,进入网站,进入 301 重定向
我是把不带 www 的域名 301 重定向到 www 域名上。
所以访问域名是不带 www 的域名,如果添加了 SSL 证书,记得目标 URL 前缀改为 https。
<?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
文件的顶部即可