仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1779|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网站制作之apache+php完善处理301重定向的两种办法...

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:23:12 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
基础这个东西,有人问学php需要任何基础不?   幸亏有301重定向能无效处理如许的成绩。正如月光博客这篇文章中说的,
301重定向可增进seo后果
从seo角度动身,301重定向是网址重定向最为可行的一种举措。当网站的域名产生变动后,搜刮引擎只对新网址停止索引,同时又会把旧地址下原本的内部链接如数转移到新地址下,从而不会让网站的排名由于网址变动而收到涓滴影响。一样,在利用301永世性重定向号令让多个域名指向网站主域时,亦不会对网站的排名发生任何负面影响。

关于301重定向的更多内容,人人无妨Google一下。本文只引见完成办法啦!
301重定向的完成,我之前也写过一篇相干的文章,但这篇文章的处理办法对照复杂,只能完成主页的跳转,本文引见的这两种办法,可以完善完成301重定向。

办法1:修正.htaccess文件
代码以下:
复制代码 代码以下:
<ifmodule mod_rewrite.c>
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]
</ifmodule>

本博需求对三个域名停止重定向,所以写的对照多,关头代码就是2句话
复制代码 代码以下:
RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http://blog.jb51.net/$1 [R=301,L]

白色的域名是需求被重定向的旧域名,绿色的是如今网站的域名。
办法2:利用PHP的重定向代码
新建一个index.php文件,然后参考上面代码按本人的重定向请求做复杂修正:
复制代码 代码以下:
<?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();
?>

假如只需对一个域名停止重定向,可以把代码简化成上面的模式:
复制代码 代码以下:
<?php
$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重定向的伴侣有匡助。
转载请标明出处: Gevin的博客也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢?
谁可相欹 该用户已被删除
沙发
 楼主| 发表于 2015-4-9 21:05:03 | 显示全部楼层
Ps:以上纯属原创,如有雷同,纯属巧合
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-17 00:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表