博客搬家地址改变——升级版

毕宇
2023-12-01

昨天解决了博客从z-blog改为wordpress之后,url变更,导致从搜索引擎过来的用户,无法看到正确的文章,没有读过的读者可以点击这里阅读。但使用strpos的方法实在有些业余,怎么办?本着it人的执着求知精神,虽然我不曾学过php,但也要赶鸭子上架,来个霸王硬上弓,嘿嘿,不就是一php中的正则么,难不倒咱,外事问google,内事问百度,万事问老婆,哈哈,咱一边搜一边学一边写,结果成功使用正则搞定。

其实正则我还是有些熟的,只不过在php中的正则与javascript/c#等不太一样,而且对函数和php的写法也不了解,但找找google百度,还是可以成功解决的,这充分说明了语言只不过是一件工具,重要的是编程的思路与经验,有兴趣的朋友,可以看看我写的文章写给新入IT的新人们

$url = '/catalog.asp?date=2006-3-5&page=1';
//匹配原来文章的url
if(preg_match('/\/post\/(\d+)\.html/is', $url, $arr))
{
	//新旧id对应
	$newIds = array(1=>'685',2=>'686',3=>'687');
	//找到新的id,如果没有新的id,则可以直接访问主页
	$url = 'http://iove.net/'.$newIds[$arr[1]];
}
//匹配包括tag的地址
elseif(preg_match('/\/catalog\.asp\?tags=(.+)/is', $url, $arr))
{
	$url = 'http://iove.net/?tag='.$arr[1];
}
//匹配日期
elseif(preg_match('/\/catalog\.asp\?date=(\d+)-*(\d)*-*(\d)*/is', $url, $arr))
{
	$url = 'http://iove.net/date/'.$arr[1];
	//如果包括月,则添加月份
	if(!empty($arr[2]))
	{
		$url = $url.'/'.$arr[2];
	}
	//如果包括天,则添加天
	if(!empty($arr[3]))
	{
		$url = $url.'/'.$arr[3];
	}
}
else
{
	//如果都没有找到,就转向随机页
	$url = 'http://iove.net/random';
}
$url = 'Location:'.$url;
header('HTTP/1.1 301 Moved Permanently');
header($url);
  

注意:本文为我的独立博客镜像博客,自发表不再更新,原文可能随时被更新,敬请访问原文。同时,请大家不要在此评论,如果有什么看法,请点击这里:http://iove.net/1705/

本文来自http://iove.net,欢迎转载,转载敬请保留相关链接,否则视为侵权,原文链接:http://iove.net/1705/

转载于:https://www.cnblogs.com/conis/archive/2009/08/19/1720489.html

 类似资料: