我有大约600个旧格式的网址:
http://www.example.com?articlename.random-numbers.html
我想重定向到新格式:
http://www.example.com?p=XXX (article number)
我可以使用旧网址和新网址创建公共规则之间没有相关性。我只有一个URL映射列表。如果重要,旧网址将不再存在。
我可以使用.htaccess或其他东西,或者我必须在PHP中创建自己的解决方案吗?
答案 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模块来编写此任务的脚本。)