成功解决blog搬家后地址不对应的问题 网站 收录

作者 : [db:作者] 共1589个字,阅读需4分钟。

提示,这个版本是使用strpos来匹配地址,最新的版本已经改为正则表达式

请点击这里

我原来是使用z-blog的,现在改为wordpress,其实z-blog也是蛮不错的,不过wordpress有更多的插件,相对来说还是要好一些的:)
升级wordpress之后,网站由原来的http://iove.net/post/id.html改为现在的http://iove.net/id,而且经过数据导入之后,ID已经有所变更,所以原来的URL和现在的URL不一致了,导致别人在访问我的网站的时候,有些文章访问不到。而且最锉的是,百度居然不收录我的网站的更新,我记得以前我网站一更新,总是百度先收录,Google一般要后那么一两周,现在倒是怪了,百度收录我的网站还是几个月前的链接,而Google在我更新后几天就收录了。
我认为对于中文网站的收录,百度要优于Google,但这次不知道为什么会这样,不晓得是我的网站放在国外,百度对国外的网站收录有歧视,还是因为我的网站有所谓的“敏感词”呢?
没办法了,做为一个Iter,自然要想办法解决,既然原有的id和现有的id有一一对应的关系,那为什么不使用网址转向呢?godaddy是支持自定义404错误页面的(其它服务商一般也都支持,国内就不一定了),当页面找不到的时候,可以在404页中做文章啊,基本思路如下:
  1. 设置自定义404页面

  2. 在404页面判断网址是否为/post/id.html

  3. 用一个数组(我的文章不多,如果多的话可以考虑使用数据库建表)保存旧id与新id的对应关系

  4. 从网址中分析出旧id,并根据旧id取出新id

  5. 重组网址,用header重定向(301)新网址

我第一次写php代码,代码写的就不咱的了,看官就不要怪了,其实如果用正则,代码将会非常简单,可是我硬是没找到php怎么用正则抽取捕获组,知道的朋友不妨告诉我一下,非常感谢。

$url

=

$_SERVER

[

'REQUEST_URI'

]

;

$u

=

strpos

(

$url

,

'/post/'

)

;

//原来的文�

if

(

empty

(

$u

)

!=

false

)

{

$id

=

str_replace

(

'/post/'

,

''

,

$url

)

;

$id

=

str_replace

(

'.html'

,

''

,

$id

)

;

//if(!is_int($id)) return;

$id

=

(

int

)

$id

;

$array

=

array

(

1

=&

gt

;

'685'

,

2

=&

gt

;

'686'

,

3

=&

gt

;

'687'

)

;

$url

=

'http://iove.net/'

.

$array

[

$id

]

;

//重定向

$url

=

'Location:'

.

$url

;

header

(

'HTTP/1.1 301 Moved Permanently'

)

;

header

(

$url

)

;

return

;

}

//原来的标签

$u

=

strpos

(

$url

,

'catalog.asp?tags='

)

;

if

(

empty

(

$u

)

!=

false

)

{

$tag

=

str_replace

(

'/catalog.asp?tags='

,

''

,

$url

)

;

$url

=

'http://iove.net/?tag='

.

$tag

;

$url

=

'Location:'

.

$url

;

header

(

'HTTP/1.1 301 Moved Permanently'

)

;

header

(

$url

)

;

return

;

}

  

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

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

转载于:https://www.cnblogs.com/conis/archive/2009/08/18/1720490.html

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
幽灵米只做资源收集整理,如需商用请联系原作者购买版权。
幽灵米 » 成功解决blog搬家后地址不对应的问题 网站 收录