erreur fonction redirection 301
Bonjour,
je me suis développé une petite fonction pour gêrer mes 301 internes sans devoir systématiquement mettre à jour mon htaccess, et surtout pouvoir y atteler certaines conditions.
Cependant, depuis le site ne fonctionne plus que sur Firefox, tous les autres navigateurs me donnent une erreur de page inexistante si j'appelle cette fonction.
Est-ce que quelqu'un peux m'expliquer ce que j'ai mal fait ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| // Redirection en interne pour url précise
function in301($url, $url_out) {
global $$url;
// On informe de la 301
header("Status: 301 Moved Permanently", false, 301);
// On crée la 301
if(empty($url)) {
header("Location: http://".$_SERVER['SERVER_NAME'].$racine_home."/".$url);
} else {
// Si l'url demandée correspond à
if ($_SERVER['REQUEST_URI'] == $racine_home.'/'.$url) {
header("Location: http://".$_SERVER['SERVER_NAME'].$racine_home."/".$url_out);
}
}
return $url;
} |
$racine_home =
Code:
1 2 3 4 5
| // initialisation de la racine de votre site ( meilleure gestion du rewriting
// By Crazy aka Alain Gaydon | http://www.cigiema.fr
$repertoire = explode("/", $_SERVER["PHP_SELF"]);
$racine_home = '/'.$repertoire[1];
if ($racine_home == $_SERVER["PHP_SELF"]) $racine_home = ''; |
edit : la fonction est apellée comme ce :
in301('page.php','page/');
in301('index.php',$racine_home);
etc...