将旧网址重定向或路由到新网址

时间:2012-12-23 12:45:07

标签: php .htaccess codeigniter codeigniter-2

我有一个使用codeigniter开发的网站,现在我已经更改了网址结构,如下所示

old:
www.website.com/library/country/city/boot_title/book_id

new:
www.website.com/library/bookings/city/country/boot_title/book_id


 www.website.com/library/country/ - displays books country wise
 www.website.com/library/country/city/ - displays books city wise

目前约有1500页,约有100个国家。

将旧网址重定向或路由到新网址的最有效方法是什么?

2 个答案:

答案 0 :(得分:1)

也许这就是你要找的东西:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/([\w]+)/([\w]+)/([\w]+)/([\w]+)/([\w]+)/?$
RewriteRule .*   %1/bookings/%3/%2/%4/%5     [L,R=301]

重定向:

http://www.website.com/library/country/city/boot_title/book_id

要:

http:www.website.com/library/bookings/city/country/boot_title/book_id

答案 1 :(得分:0)

您可以将旧路线映射到application/config/routes.php中的新路线。

查看CI文档的this page,了解路线的工作原理。

虽然您可以使用.htaccess来重写您的路由,但我认为它应该是任何具有自己路由的框架的最后手段,因为它变得更难理解/管理以及服务器特定。 Nginx不支持.htacess,例如虽然在某些时候它可能不是一个问题。