php检测并将旧链接重定向到新链接

时间:2013-01-26 20:29:12

标签: php redirect http-redirect

最近我改变了网站softare,我对旧链接有一个非常大的问题。我的网站在谷歌上有超过15.000个索引页面,我不会丢失这个链接。

我的旧个人资料链接看起来像http://website.com/username

新链接如下所示:http://website.com/profile/view/?uid=123469

所以,问题是我的新系统使用Kohana,所有301等都被重定向到404页面,在htcacces上我无法重写,我尝试了所有方法但没有任何想法?

1 个答案:

答案 0 :(得分:0)

在启动任何代码之前,先生成 flatfile字典,然后预先运行当前请求查询,并对相应的新地址执行header 301请求。

$url_rewrites = array(
    '/profile/view/?uid=123469' => '/username',
    '/profile/view/?uid=1234692' => '/username2',
    '/profile/view/?uid=1234693' => '/username3',
);

if (($key = array_search($_SERVER['REQUEST_URI']), $url_rewrites)){
    header('Location: ' . $key, true, 301);
}

大约两三个月后,放下字典。