application / config / routers.phpを使用して、新しいURLクエリを古いコントローラーオブジェクトに再ルーティングします
$route['keyword-library/(:any)/(:any)/(:any)/(:any)/(:any)'] = "library/$1/$2/$3/$4/$5";
$route['keyword-library/(:any)/(:any)/(:any)/(:any)'] = "library/$1/$2/$3/$4";
$route['keyword-library/(:any)/(:any)/(:any)'] = "library/$1/$2/$3";
$route['keyword-library/(:any)/(:any)'] = "library/$1/$2";
$route['keyword-library/(:any)'] = "library/$1";
$route['keyword-library'] = "library";
次に、他のコードが実行される前に/index.phpファイルにこれを追加して、古いページを新しいページに再ルーティングします。
$uri = $_SERVER['REQUEST_URI'];
if(strpos($uri,'/library') === 0)
{
$expl = explode('/library',$uri);
//array_shift($expl);
$query = implode('',$expl);
$redirect= "https://".$_SERVER['HTTP_HOST'].'/orthomoleculaire-bibliotheek'.$query;
header( "Status: 301 Moved Permanently" );
header("Location: $redirect");
exit(0);
}
これに.htaccessを使用してみましたが、変数と変数の長さが変更されたため、何らかの理由で古いURLを301の新しいURLに再ルーティングすることができませんでした。
もっとエレガントな解決策を知っている人がいたら、私はそれを見つけることができなかったので、それを投稿してください。