Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3097 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Redirection

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Redirection

n°2155705
Daxter7
Posté le 05-09-2012 à 15:52:24  profilanswer
 

Bonjour,
 
Je cherche un code (en php ou html) pour faire une redirection si les utilisateur de mon site vienne de http://monsite.com qu'il soit redirigé vers http://www.monsite.com
 
Est-ce que cela est possible ? Si non y'a t'il un moyen de le faire via IIS ?

mood
Publicité
Posté le 05-09-2012 à 15:52:24  profilanswer
 

n°2155715
bob3335
Posté le 05-09-2012 à 16:09:07  profilanswer
 

En PHP
 
header("location: http://www.monsite.com" );
 
A placer en 1ère ligne de ton index.php de http://monsite.com

n°2155751
Daxter7
Posté le 05-09-2012 à 20:49:10  profilanswer
 

J'obtient ce message
 
Cette page Web présente une boucle de redirection.

n°2155788
xaeon
Profil: TT
Posté le 05-09-2012 à 22:55:21  profilanswer
 

Je pense que c'est parce que la même page est appelée par les 2 urls, peut être faire un test sur la variable $_path avant d'utiliser header pour s'assurer que l'on est pas en présence de l'url en www.

 

Il y a sans doute mieux mais dans l’immédiat ça peut peut être fonctionner.


Message édité par xaeon le 05-09-2012 à 22:55:59
n°2155978
Daxter7
Posté le 07-09-2012 à 16:11:58  profilanswer
 

Je ne comprend pas ce que tu dit xaeon

n°2155988
rufo
Pas me confondre avec Lycos!
Posté le 07-09-2012 à 16:32:00  profilanswer
 

ben probablement que ton header(location) est fait sur les 2 urls (celle pour laquelle tu veux la redirection, mais aussi sur celle que tu veux pas). Il faut donc tester l'url d'arrivée de l'utilisateur et ne faire la redirection que s'il vient du site pour lequel tu veux la redirection. Sans doute tester $_SERVER['HTTP_REFERER'].


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2156023
Daxter7
Posté le 08-09-2012 à 10:46:01  profilanswer
 

Pourrait-tu me donner les démarche a suive je ne suis pas très bon codeur.
Merci

n°2162725
delphine21
Posté le 06-11-2012 à 14:14:49  profilanswer
 

Bonjour !
 
Pour créer une redirection en PHP, rien de plus simple :
 
La démarche : http://resolu.net/creer-une-redirection-en-php.html
 
A bientôt !

n°2165271
Profil sup​primé
Posté le 23-11-2012 à 14:18:32  answer
 


Bonjour,  
 
Moi je le fais directement dans mon .htaccess, car cela me permet de laisser ce travail à Apache et de faire une redirection 301 pour ne pas avoir de duplicate content.
Pour cela tu as deux méthodes :
 

  • Option 1:


Code :
  1. <IfModule mod_rewrite.c>
  2.   RewriteCond %{HTTPS} !=on
  3.   RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  4.   RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
  5. </IfModule>


 
 
 

  • Option 2:


Attention avec cette méthode, si tu utilises des sous-domaines, il vaut mieux utiliser la première méthode.
 

Code :
  1. <IfModule mod_rewrite.c>
  2.    RewriteCond %{HTTPS} !=on
  3.    RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
  4.    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  5. </IfModule>


n°2165288
Daxter7
Posté le 23-11-2012 à 17:59:11  profilanswer
 

Il n'y a pas de .htaccess dans IIS c'est bien le problème ...

mood
Publicité
Posté le 23-11-2012 à 17:59:11  profilanswer
 

n°2165292
Profil sup​primé
Posté le 23-11-2012 à 19:14:06  answer
 

Ah j'avais mal lu =/  
 
Du coup dans ton cas, un bout de code à mettre en haut de chacunes de tes pages :

Code :
  1. <?php
  2.    if(!preg_match('/^www./',$_SERVER["HTTP_HOST"]))
  3.    {
  4.         header("HTTP/1.1 301 Moved Permanently" );
  5.         header('Location:http://www.'$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]);
  6.         header("Connection: close" );
  7.    }
  8. ?>


 
Je n'ai pas moyen de la tester là, mais normalement ça devrait être bon :)
N'oublie pas le header 301 pour notre ami google ;)

n°2165338
Daxter7
Posté le 24-11-2012 à 14:06:57  profilanswer
 

J'obtient 500 - Erreur interne au serveur.

n°2165359
alx067
Posté le 24-11-2012 à 20:30:03  profilanswer
 

Tu crées une page en HTML à la racine de ton site (http://monsite.com) que tu nommes index.html avec ce code :

Code :
  1. <META HTTP-EQUIV="Refresh"
  2. CONTENT="0; URL=http://www.monsite.com">


 
Si j'ai bien compris ce que tu voulais.

n°2165365
CyberDenix
Posté le 24-11-2012 à 21:34:42  profilanswer
 

Dsl alx067... Mais t'es à l'ouest, ta méthode produit une 302 non conditionnée.
 
Le gars il demande comment faire une redirection 301 conditionnée. :D


---------------
Directeur Technique (CTO)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Redirection

 

Sujets relatifs
[Shell/batch] redirection dans un for /F ?Problème référencement site sur Google (redirection chez gandi)
redirection de sortie CreateProcessWRedirection stdout sur un FILE
Erreur redirectionLaisser l'adresse de redirection dans l'url du site cible
redirection user_agentChanger la redirection d'un lien sur Wordpress
htacces, redirection, dossier et surtout un petit coup de mainredirection .htaccess
Plus de sujets relatifs à : Redirection


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)