據我所知,只有post_name在uri的WP post中很重要: wp-site.com/category/post_name
等於wp-site.com/category2/post_name
。
所以,當您遷移WP-職位表到新CI職位表,保持post_name
字段來標識所請求的內容。
我提交了一個簡單的解決方案,以保持舊網址與否:
例如:您的孩子的URI就像是/category1/cateogry2/post_name/
配置/ route.php
//old post URIs (WP)
//$3 = post_name
$route['([a-z0-9\-_]+)/([a-z0-9\-_]+)/([a-z0-9\-_]+)/'] = 'posts/single/$3';
//new post URIs
//e.g: /post_name.html
$route['([a-z0-9\-_]+)\.html'] = 'posts/single/$1';
控制器/ posts.php
//posts method
public function single($post_name) {
//check post_name in DB
//...
//check URI (optionnal)
//there are not one segment in the uri so this is an old URI
if($this->uri->total_segments() > 1) {
redirect($post_name.'.html', 301);
}
//...
}
通過此解決方案,當您將訪問http://site.com/category1/cateogry2/post_name/
,職位/單一的方法將被調用,如果你想將您重定向到新的URL http://site.com/post_name.html
。
笨犯規有關URL可以具有u想要的任何URL照顧。你可以有一個漫長的網址。使用路由將它們指向正確的url和方法。 – 2013-04-21 15:14:29
對不起他們指向正確的類和方法:) – 2013-04-22 01:04:38