幸好有 301 重定向能有效解决这样的问题正如月光博客这篇文章中说的,
301 重定向可促进搜索引擎优化效果
从搜索引擎优化角度出发, 301 重定向是网址重定向最为可行的一种办法当网站的域名发生变更后, 搜索引擎只对新网址进行索引, 同时又会把旧地址下原有的外部链接如数转移到新地址下, 从而不会让网站的排名因为网址变更而收到丝毫影响同样, 在使用 301 永久性重定向命令让多个域名指向网站主域时, 亦不会对网站的排名产生任何负面影响
关于 301 重定向的更多内容, 大家不妨 Google 一下本文只介绍实现方法啦!
301 重定向的实现, 我以前也写过一篇相关的文章, 但这篇文章的解决方法比较简单, 只能实现主页的跳转, 本文介绍的这两种方法, 可以完美实现 301 重定向
方法 1: 修改. htaccess 文件
代码如下:
代码如下:
- RewriteEngine On
- RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]
- RewriteRule ^(.*)$ http://blog.jb51.net/$1 [R=301,L]
- RewriteCond %{HTTP_HOST} iflyhigher.tk$ [NC]
- RewriteRule ^(.*)$ http://jb51.net/$1 [R=301,L]
- RewriteCond %{HTTP_HOST} moiya.tk$ [NC]
- RewriteRule ^(.*)$ http://jb51.net/$1 [R=301,L]
本博需要对三个域名进行重定向, 所以写的比较多, 关键代码就是 2 句话
代码如下:
- RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]
- RewriteRule ^(.*)$ http://blog.jb51.net/$1 [R=301,L]
红色的域名是需要被重定向的旧域名, 绿色的是现在网站的域名
方法 2: 使用 PHP 的重定向代码
新建一个 index.php 文件, 然后参考下面代码按自己的重定向要求做简单修改:
代码如下:
- $the_host = $_SERVER['HTTP_HOST'];
- $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
- switch ($the_host)
- {
- case "www.iflyhigher.tk":
- case "iflyhigher.tk":
- $location = "Location: http://jb51.net" . $request_uri;
- break;
- case "blog.iflyhigher.tk":
- $location = "Location: http://blog.jb51.net" . $request_uri;
- break;
- case "www.moiya.tk":
- case "moiya.tk":
- $location = "Location: http://jb51.net";
- break;
- default:
- $location = "Location: http://jb51.net";
- break;
- }
- header('HTTP/1.1 301 Moved Permanently');
- header($location);
- exit();
- ?>
如果只要对一个域名进行重定向, 可以把代码简化成下面的形式:
代码如下:
- $the_host = $_SERVER['HTTP_HOST'];// 取得进入所输入的域名
- $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';// 判断后面的请求部分
- if($the_host !== 'jb51.net')//jb51.net 是我现在的域名
- {
- header('HTTP/1.1 301 Moved Permanently');// 发出 301 头部
- header('Location: http://jb51.net'.$request_uri);// 跳转到我的新域名地址
- exit();
- }
- ?>
注意, 最后的 exit() 函数是一定要写的, 我最初就没有写, 结果只能重定向首页, 像 http://blog.iflyhigher.tk/guestbook 这样的网页, 就无法进行重定向
最后, 关于重定向的一些细节
由于要对三个域名进行重定向, 重定向前, 我首先将这三个域名作为 Addon Domain 绑定到我的服务器上去, 并让这三个域名指向同一个文件夹, 这样, 只要修改这一个文件夹中的. htaccess 文件或者 index.php 文件就可以了如果没有. htaccess 文件或者 index.php 文件, 新建一个即可
希望本文对需要进行 301 重定向的朋友有帮助
来源: https://www.php1.cn/detail/php-d91307f321.html