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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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...