/ / Codeigntier: redireciona dentro do arquivo config / routes.php? - codeigniter, rotas, redirecionamento de url

Codeigntier: redireciona dentro do arquivo config / routes.php? - codeigniter, rotas, redirecionamento de url

Eu estou atualizando um site e tenho um monte de URLs antigos que precisam ser redirecionados para seus novos equivalentes. Eu quero fazer isso do lado do servidor (em vez de com. Htaccess)

Seria legal se na minha config / routes.php eu pudesse declarar algo assim:

$route["old_url_1"] = redirect("/new/url/1", "location", 301);
$route["old_url_2"] = redirect("/new/url/2", "location", 301);
$route["old_url_3"] = redirect("/new/url/3", "location", 301);

Obviamente ele não funciona, mas é algo assim possível, ou seja, manter este código no meu arquivo de rotas (mais lógico) ou eu preciso ir e configurar funções em algum controlador?

Obrigado.

Respostas:

1 para resposta № 1

Sim, você precisa criar algo (método no controlador), que irá redirecionar o navegador com código 301. Algo assim:

<?php

if (!defined("BASEPATH"))
exit("No direct script access allowed");

class Redirectme extends MY_Controller {

public function index($url=false) {
if($url===false)
redirect("/");
redirect("/new/url/".$url,"location",301);
}

}

?>

e adicione ao route.php

$route["old_url_(:any)"] = "redirectme/index/$1";

De qualquer forma, a melhor prática para redirecionar via .htaccess (porque ele não vai chamar mesmo módulo php do servidor web).