IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

erreur fonction redirection 301


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Him
    Him est déconnecté
    Membre éclairé Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Par défaut 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 : 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...

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Tu as 301 internes !
    Ca doit pas être facile de gérer un aussi grand internat !
    Commet tu leur fais faire leurs devoirs ?

    ...




    PLus sérieusement, je pense que tu peux d'abord regarder si la variable $_SERVER est bien alimentée, avec var_dump bien sûr.

  3. #3
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    C'est quoi ce "global $$url" ?

    Pas besoin de double $
    pas besoin de variable globale, elle est déjà en paramètre.

  4. #4
    Him
    Him est déconnecté
    Membre éclairé Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Par défaut
    hu,

    j'ai cru lire,
    que si je voulais pouvoir

    in301('page.php',$variable)

    je devais mettre $$global

    Bref,

    je met quoi ?

    juste $url ? sans global $ ?

  5. #5
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par Him Voir le message
    hu,

    j'ai cru lire,
    que si je voulais pouvoir

    in301('page.php',$variable)

    je devais mettre $$global

    Bref,

    je met quoi ?

    juste $url ? sans global $ ?
    Ben... Ouais.

    Allez, j'ai la patate, je vais pas faire mon fainéant :

    Code php : 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) {
    			// 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;
    	}

    Hélas, je pense que cela n'a rien à voir avec ton problème.
    La variable $$url n'était jamais utilisée.
    Je voulais juste pointer un problème de base.

  6. #6
    Him
    Him est déconnecté
    Membre éclairé Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Par défaut
    tu fais bien

    Tu ne me l'aurais pas dis, je serais toujours aussi inculte

    je regarde si cela à une incidence quelconque.


    [edit] question : tu "return $url"

    mais à quoi correspond $url maintenant ?

    [edit2] effectivement, cela n'a aucune incidence...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de redirection
    Par adlich dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/04/2006, 14h44
  2. Réponses: 1
    Dernier message: 18/04/2006, 14h05
  3. [DOM XML] Erreur fonction load() d'un objet dom??
    Par ribrok dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2005, 12h43
  4. [ Struts ] erreur de redirection
    Par CapToMatteo dans le forum Struts 1
    Réponses: 4
    Dernier message: 30/04/2004, 18h22
  5. méssage d'erreur fonction d'agrégat
    Par developpeur_mehdi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/03/2004, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo