使用绝对URL处理~600个永久重定向的最佳方法是什么?

时间:2014-04-28 21:35:06

标签: apache .htaccess url

我有大约600个旧格式的网址:

http://www.example.com?articlename.random-numbers.html

我想重定向到新格式:

http://www.example.com?p=XXX (article number)

我可以使用旧网址和新网址创建公共规则之间没有相关性。我只有一个URL映射列表。如果重要,旧网址将不再存在。

我可以使用.htaccess或其他东西,或者我必须在PHP中创建自己的解决方案吗?

1 个答案:

答案 0 :(得分:1)

我建议使用.htaccess文件在服务器(Apache)级别处理此问题。

由于旧网址将不再存在,您应将其设置为HTTP状态代码301重定向,因为它们表示永久移动:http://en.wikipedia.org/wiki/HTTP_301

在.htaccess文件中,对于每篇文章,按如下所示创建一行:

Redirect 301 /?articlename.random-numbers.html http://www.yourdomain.com/?p=XXX

您的.htaccess文件应位于您网站的根目录。

由于您可以使用旧网址和新网址创建公共规则之间没有关联,因此拥有~600行.htaccess文件是您最好的选择。 (如果存在某种相关性,您可以使用Apache的mod_rewrite模块来编写此任务的脚本。)