15k文章需要301重定向

时间:2017-08-21 15:07:01

标签: wordpress .htaccess redirect mod-rewrite

我有一个17岁的网站,有超过15,000篇文章。我最近收到了来自静态HTML页面的4000多篇文章以及来自另一个CMS(www.ez.no)的9000多篇文章迁移到一个/单一的WordPress网站,因此需要通过.htaccess进行301重定向。

我的开发人员已将所有这些内容重定向到.htaccess文件中。

以下内容对静态HTML网址没有任何问题:

Redirect 301 /aai-mmn1.html 
http://www.example.com/perspectives/a-tale-of-two-killings

但是以下内容不起作用,因为这个属于动态

Redirect 301 /content/view/full/8590 
http://www.example.com/articles/evidence-still-matters

我该怎样做?

Redirect 301
http://world.example.com/content/view/full/8590
http://usa.example.com/content/view/full/8590
http://asiapacific.example.com/content/view/full/8590
http://canada.example.com/content/view/full/8590

http://www.example.com/articles/evidence-still-matters

1 个答案:

答案 0 :(得分:0)

假设mod_rewrite可用,您可以这样做:

RewriteEngine On
RewriteRule ^content/view/full/8590 http://www.example.com/articles/evidence-still-matters [R=301,L]

那就是说,如果你不得不为一篇文章而不是一篇文章做这件事我可能采取不同的方法:

1 - 导入数据时请确保移植旧ID,如果您不想再将它们用作ID,则可以将它们添加到old_id或类似的列中。

2 - 编写一个PHP脚本,该脚本需要旧ID作为参数,并通过从数据库中提取已重新获取的信息来向新URL发出301重定向。

3 - 添加一个htaccess规则以强制所有旧的URL到PHP脚本:

RewriteRule ^content/view/full/([0-9]+) old_to_new_article_redirect.php?old_id=$1