Tom's Guide > Forum > Programmation > Afficher un message en détectant l'URL

Afficher un message en détectant l'URL

Forum Programmation : Afficher un message en détectant l'URL

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour à tous,

Je vais prochainement changer l'adresse de mon site mais il sera tout de même accessible avec l'ancienne adresse.N'ayant pas de publicité avec la nouvelle, je voudrais "régler ce problème".

Donc, existe-il un script permettant de vérifier l'adresse de provenance et si c'est telle adresse, d'afficher un message (un peu comme les messages d'erreur de windows) disant:

"L'adresse du site à changé. Mettez à jour vos favoris ! (URL de la nouvelle adresse)"

Merci de votre aide!

VirtuAiles

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

À mon avis le plus simple, c'est de remplacer l'index de la première adresse par une page disant "l'adresse du site a changé, maintenant c'est <a href="la nouvelle adresse">ici</a> !"

Répondre à bluedylc

Le problème, c'est que je garde le même serveur mais que je change d'adresse. L'adresse de la page est donc la même mais le nom de domaine change, et avec l'ancien il y a de la publicité.

Répondre à virtuailes

Tu fais une page html dans laquelle tu mets "l'adresse du site a changé etc......" et tu fais un JS:

<script language="JavaScript">
function redirect()
{
window.location='http://www.nouvelleURL.com"'
}
setTimeout('redirect()',15000);

</script>

Dans le Timeout, tu indique le nombre de millisecondes avant que la redirection automatique se fasse (15secondes dans cet exemple)

voilà

Répondre à cybertaf

Ok, on se rapproche de l'objectif mais est-ce qu'on peut ajouter une partie de code qui vérifie l'url et fait appel au code que tu as donné si ce n'est pas une adresse précise ?

Répondre à virtuailes

en php pour récupérer l'adresse d'où l'on vient le code est : $_SERVER['HTTP_REFERER']
En javascript, c'est : 'document.referrer'

Répondre à rodbeck

Et après on fait un "if" ou quelque chose du genre?
Donc, ça serait

Code :
  1. $_SERVER['HTTP_REFERER']
  2. if
  3. $_SERVER=http://ancienneurl.com
  4. {
  5. <script language="JavaScript">
  6. function redirect()
  7. {
  8. window.location='http://www.nouvelleURL.com"'
  9. }
  10. setTimeout('redirect()',15000);
  11. </script>



Mais le problème, c'est que ça redirige. Ça n'averti pas le visiteur.

Pour afficher le message, il faudrais donc utiliser cela:

Code :
  1. <HTML>
  2. <HEAD>
  3. <SCRIPT LANGUAGE="JavaScript">
  4. <!-- Beginning of JavaScript -
  5. function MsgBox (textstring) {
  6. alert (textstring) }
  7. // - End of JavaScript - -->
  8. </SCRIPT>
  9. </HEAD>
  10. <BODY>
  11. <FORM>
  12. <INPUT NAME="text1" TYPE=Text>
  13. <INPUT NAME="submit" TYPE=Button VALUE="Show Me" onClick="MsgBox(form.text1.value)">
  14. </FORM>
  15. </BODY>
  16. </HTML>


Et comment le modifier pour que le message apparaisse automatiquement, et non seuelement lorsqu'on clique sur le bouton ? Mais comment faire pour que ça le fasse seulement si ce n'est pas la bonne URL?

Répondre à virtuailes

Je ne vois pas pourquoi tu te compliques la vie comme ça.

Tu fais ta page que tu nommes "index.html", tu mets dedans ton message d'avertissement et le JS que je t'ai donné, et tu l'upload tu le FTP de ton ancienne URL...

Répondre à cybertaf

C'est simplement parce que le serveur est identique. Il y a seulement l'adresse qui change (et il n'y a plus de publicité); rien d'autre, et je ne veut pas gâcher la page en mettant un message fixe.

Répondre à virtuailes

Bon, sur ton ancien serveur tu mets une page html avec juste ça :

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>Redirection.</title>
  5. <h1>L'adresse du site a changé, veuillez mettre à jour vos bookmarks.</h1>
  6. Vous allez être redirigé dans 3 secondes.
  7. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  8. <meta http-equiv="refresh" content="3; URL=http://nouvelle_adresse.com">
  9. </head>
  10. <body>
  11. </body>
  12. </html>

Répondre à rodbeck

tu fais pointer l'ancienne adresse vers une autre page, où tu auras ton message de redirection

Répondre à ritzle

l'ancienne adresse est http://user.ifrance.com donc je ne peut pas la faire pointer à un autre endroit.

C'est simple: j'ai les scripts nécessaires mais je veut seulement savoir comment les agencer.

Répondre à virtuailes

Je t'explique tu peux récupurer facilement l'adresse avec $PHP_SELF

donc un truc du style en haut de ta page d'accueil:

Code :
  1. <?php
  2. if ( $PHP_SELF == "http://ancienneurl" )
  3. {
  4.         //on affiche un message d'erreur en javascript
  5.         echo '<script language = "javascript">
  6.         alert(\'Vous allez être redirigé vers la nouvelle adresse du site\');
  7.         document.location.href = \'http://nouvelleadresse\'
  8.         </script>';
  9.        
  10. }
  11. //reste du site
  12. ?>


la redirection se fait également en javascript, on pourrait également opter pour une méthode plus 'PHP'

Code :
  1. <?php
  2. if ( $PHP_SELF == "http://ancienneurl" )
  3. {
  4.         header("location : http://nouvelleadresse/?redirection" );
  5. }
  6. if ( $_GET['redirection'] )
  7. {
  8.         echo '<script language = "javascript">
  9.         alert(\'Vous venez d\\'être redirigé vers la nouvelle adresse du site\');
  10.         </script>';
  11. }
  12. //reste du site
  13. ?>



L'avantage de la seconde méthode est que le visiteur sera tout de meme rediriger s'il n'a pas le JS , il n'aura pas de message d'erreur dans ce cas mais bon.

Répondre à Wgl@IDN

J'avais presque abandonné sur ce sujet !
Merci beaucoup, ça à l'air de ce que je cherche. Je vais essayer ça.

@+

Répondre à virtuailes
Tom's Guide > Forum > Programmation > Afficher un message en détectant l'URL
Aller à :

Il y a 2030 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens