Je cherche une fonction permettant une redirection...[RESOLU]

Eléphanteau du PHP | 41 Messages

05 janv. 2009, 13:03

Bonjour,

J'espère que vous allez tous bien en cette nouvelle année 2009

Voilà, je ne sais pas trop comment je vais expliquer ma requète, en fait je suis à la recherche d'une fonction pbp qui me permettrais de faire une redirection d'url (pseudo frame), je vais essayer de mieux vous expliquer par des exemples qui suit :

je suis héberger chez Free et j'utilise les pseudos frame comme suit :

http://nomdusite.free.fr/index.php?page=exemple

Cependant je voudrai quitter free pour aller chez un hébergeur pro (ovh), par contre je connais les redirection javascript et php pour les redirection vers les urls, mais ce n'ai pas ce que je cherche...
Ce que je recherche c'est une fonction qui me permet de changer juste les pseudos frame par rapport à l'url...
c'est à dire un code php qui permet de faire ça :

http://nomdusite.free.fr/index.php?page=exemple >>>vers>>>
http://www.domaine.fr/index.php?page=exemple

qui fait en sorte de changer automatiquement l'url

sans pour autant faire une redirection simple et aller recherche http://www.domaine.fr/index.php?page=exemple

Désolé de ne pas mieux vous expliquer

Merci de m'aider

Cdt
Modifié en dernier par fhardi le 15 févr. 2009, 00:48, modifié 1 fois.

Gwendalfr
Invité n'ayant pas de compte PHPfrance

05 janv. 2009, 15:20

Je n'ai pas vraiment compris la question, mais j'ai bien l'impression de vaguement comprendre ce que tu recherche et j'irais regarder du coté des .htaccess.
Enfin sous réserve que j'ai vaguement compris ce que je n'ai pas compris :)

Mammouth du PHP | 2937 Messages

05 janv. 2009, 15:47

Dans un fichier .htaccess, tu peux consigner le code suivant :

Code : Tout sélectionner

RewriteEngine on RedirectMatch 301 (.*) http://www.domaine.fr/$1 [QSA]
Encore faut-il que Free connaisse le module rewrite d'Apache...

Au pire, du code PHP pourra toujours faire l'affaire.
// Code à insérer avant tout envoi à l'affichage
// Redirection 301
if ($_SERVER['HTTP_HOST'] != 'www.domaine.fr')
{
  header ('Status: 301 Redirect Permanent', false, 301);
  header ('Location: http://www.domaine.fr'.$_SERVER['REQUEST_URI']);
  exit;
}

Invité
Invité n'ayant pas de compte PHPfrance

05 janv. 2009, 17:14

Dans un fichier .htaccess, tu peux consigner le code suivant :

Code : Tout sélectionner

RewriteEngine on RedirectMatch 301 (.*) http://www.domaine.fr/$1 [QSA]
Encore faut-il que Free connaisse le module rewrite d'Apache...

Au pire, du code PHP pourra toujours faire l'affaire.
// Code à insérer avant tout envoi à l'affichage
// Redirection 301
if ($_SERVER['HTTP_HOST'] != 'www.domaine.fr')
{
  header ('Status: 301 Redirect Permanent', false, 301);
  header ('Location: http://www.domaine.fr'.$_SERVER['REQUEST_URI']);
  exit;
}
bonjour,

merci pour vos réponses, génial, je vais le tester

si comprend bien :

Code : Tout sélectionner

if ($_SERVER['HTTP_HOST'] != 'www.domaine.fr') // c'est celle de Free.fr

[/code]

mais qu'en ait il au niveau des peudos frames ?



désolé, ma question pourrait paraitre bête

Eléphant du PHP | 164 Messages

05 janv. 2009, 18:46

Y a quand même plus simple :

tu crées une page index.html sur ton ancien serveur et tu mets :

Code : Tout sélectionner

<meta http-equiv='refresh' content='0; URL=URLNOUVEAUSITE'>
Le 0 correspond au nombre de secondes avant redirection. Pour 0 tu laisses la page vide, sinon tu peux mettre une page avec un "nous changeons d'adresse - redirection dans 10 secondes".

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 janv. 2009, 19:27

Y a quand même plus simple :

tu crées une page index.html sur ton ancien serveur et tu mets :

Code : Tout sélectionner

<meta http-equiv='refresh' content='0; URL=URLNOUVEAUSITE'>
C'est peut être plus simple, mais c'est bien moins bon comme solution car ça ne fonctionne que sur la page index.html et pas sur les autres pages (ou alors faut le mettre sur chaque page et donc c'est plus fastidieux que le htaccess), par ailleurs avec une balise méta, ça force le navigateur à afficher la page html de transition et ça ne renvoie pas le bon code HTTP (301 pour une redirection)
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2937 Messages

05 janv. 2009, 22:23

si comprend bien :
if ($_SERVER['HTTP_HOST'] != 'www.domaine.fr')  // c'est celle de Free.fr
Avec ce bout de code, je teste la condition suivante : si l'hôte du site ne correspond pas au domaine www.domaine.fr (je dirais même au sous-domaine), alors on redirige de façon permanente vers le bon sous-domaine.

Eléphanteau du PHP | 41 Messages

05 janv. 2009, 22:34

si comprend bien :
if ($_SERVER['HTTP_HOST'] != 'www.domaine.fr')  // c'est celle de Free.fr
Avec ce bout de code, je teste la condition suivante : si l'hôte du site ne correspond pas au domaine www.domaine.fr (je dirais même au sous-domaine), alors on redirige de façon permanente vers le bon sous-domaine.
Bonjour,

Merci pour tous, je vais tester

Eléphanteau du PHP | 41 Messages

15 févr. 2009, 00:47

Dans un fichier .htaccess, tu peux consigner le code suivant :

Code : Tout sélectionner

RewriteEngine on RedirectMatch 301 (.*) http://www.domaine.fr/$1 [QSA]
Encore faut-il que Free connaisse le module rewrite d'Apache...

Au pire, du code PHP pourra toujours faire l'affaire.
// Code à insérer avant tout envoi à l'affichage
// Redirection 301
if ($_SERVER['HTTP_HOST'] != 'www.domaine.fr')
{
  header ('Status: 301 Redirect Permanent', false, 301);
  header ('Location: http://www.domaine.fr'.$_SERVER&#91;'REQUEST_URI'&#93;);
  exit;
}
Bonsoir,

Désolé pour vous prevenir que tout fonctionne correctement, merci beaucoup Victor BRITO
la rediction fonctionne à merveille, c'est exactement ce que je cherchais

Mille fois merci
je clos ce sujet avec la mention [resolu]

A bientot