在使用重定向进行迁移时,保持旧的url有效


Keep the older URLs live when doing a migration with a redirect

我们以前为我们的病例记录系统使用非搜索引擎友好的自定义CMS。我们正计划迁移到WordPress。因为我们有几个链接指向我们以前的安装,我们想让他们生活在一个新的域。

幸运的是,我们在之前的CMS中所有的链接都是http://www.example.com/cases/the-case-number的格式。

我们正在考虑如何实现它。我认为我们有两个解决方案:

  1. redirect_to_old()函数放在WordPress头的顶部,以获取每个页面加载的当前URL,如果URL请求匹配"/cases/",则使用header("Location: $URL");重定向到以前的CMS。

     function redirect_to_old(){
     $requestUrl = $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
     if (stripos($requestUrl, "/cases/")!== false){
        $URLpart = explode("/cases/",$requestUrl);
        $newURL = "http://sub.xyz.com/cases/".$URLpart[1];
        header("Location: $newURL"); /* Redirect browser */
        exit;
     }else{
        return true;
     }  
     }
    
  2. 使用一些。htaccess代码进行重定向。但我不是。htaccess的专家。

我必须在重定向之前添加301错误吗?如果我们做这样的重定向,在搜索引擎优化方面会有什么不好的后果吗?这个迁移的主要目的是SEO。

你有什么建议,请指教。

使用301重定向通过。htaccess(你甚至不需要尝试搜索index.php,如果你知道,那个URL是旧的,是吗?)这里有一些例子,希望对你有用。

RewriteEngine On
Redirect 301 /cases/the-case-number http://newdomain.com/cases_the-case-number.html

我必须在重定向之前添加301错误吗?

是的。搜索引擎必须知道,这个重定向是永久的

在搜索引擎优化方面,如果我们做一个重定向,如这个吗?因为这个迁移的主要目的是SEO。