8721 sujets

Développement web côté serveur, CMS

Bonjour,

Ma page http://www.premier.com/ contient un lien qui appelle un site externe.
L'objectif est que le site externe s'affiche en conservant l'adresse du site de départ.

Les 2 sites appartiennent au même client et il n'y a aucun problème de copie concernant les droits.

Je n'ai accès en modification qu'au premier site http://www.premier.com/.
Pour le 2ème site, son adresse est fournie par no-ip.org : second.no-ip.org

J'ai essayé de faire un URL rewrite sur le premier site sans résultat.
Lorsque le 2ème site s'affiche, au premier click sur ce 2ème site, l'adresse du navigateur change et devient second.no-ip.org

Avec les iframes, j'ai eu le même problème.

J'ai pensé à cURL en PHP mais ce que j'ai essayé n'a rien donné. Peut-être à cause du fait que le second site est affiché en passant par la passerelle de no-ip.org.

Si vous avez des idées ou conseils, MERCI d'avance ! Smiley cligne
Modifié par nonoseki (02 Mar 2013 - 22:45)
Bonjour nonoseki,

As tu essayé avec un file_get_contents(url)?
http://php.net/manual/fr/function.file-get-contents.php


$site_externe = file_get_contents('http://second.no-ip.org');
var_dump($site_externe);


Une fois que tu as ton flux, faut faire sauter les balises certaines balises pour ne pas te retrouver avec l'entete du site que tu interroges(le doctype, head et son contenu) en gros tu ne garderais que le contenu de la balise body.

Enfin je dis ça mais je ne suis pas un pro php. J'espère que ça t'aidera un peu.
Modifié par epi (01 Mar 2013 - 16:33)
J'ai essayé avec file_get_contentc(url)
mais ça ne renvoie rien.
Ca doit être du au no-ip.org qui fait passerelle entre mon appel, et le contenu sur le 2ème site.

Merci quand même pour ton idée epi !
Salut,

J avais teste un truc qui marche bien en local, tu peux essayer d integrer ton contenu 2 dans une page vide de 1.
Deux options pour ca.
Un include,

Un iframe ( mais celui la j ai pas encore approfondi)

Avec ces methodes l adresse est celle de 1 mais le contenu viens de 2

L ideal serait que 2 soit decoupe en conteneur et contenu comme ca tu n appel que le contenu, en revanche pour les liens c est sur que si 2 envoi des variable c est gerable mais si il remet l url c est mort
Modifié par Lemonstr (02 Mar 2013 - 17:57)
Salut Lemonstr,

merci pour tes infos mais je n'arrive pas à créer cette redirection transparente.

avec un include PHP, j'ai essayé mais sans résultat.

avec une frame, la page de login de second.com s'affiche en conservant l'adresse de premier.com, mais ca plante après une authentification qui redirige vers le serveur second.com.

Je pense que cette authentification ne permet pas de faire une redirection transparente car après s'être identifié sur second.com, le script php redirige vers une page de son propre serveur second.com, et forcément l'adresse devient second.com.


Il y a un truc que j'aimerais comprendre.
Le site second.com est affiché par un no-ip.org, l'adresse est donc second.no-ip.org, car c'est un serveur (second.com) dont l'adresse IP change tous les ans et le client ne veut plus avoir à changer le lien à chaque fois sur la page premier.com.

Je me demande comment l'adresse second.no-ip.org reste dans la barre d'adresse du navigateur, alors qu'on se log sur le site second.com, et que second.com charge ensuite une de ses pages ou l'on est authentifié, sans que l'adresse change.
Surement un script ou un htaccess (url rewriting) fourni par no-op.org, installé sur le serveur second.com, qui permet de conserver l'adresse second.no-ip.org ?
J'aimerais avoir ce script !

Merci pour vos conseils en tout cas ! mais ça semble mort Smiley confus

//EDIT//
Je pense avoir la réponse à ma propre question Smiley confused ,
le logiciel NO-IP DUC de no-ip.org est installé sur le serveur du site second.com et permet de conserver second.no-ip.org en nom de domaine.

Pour résoudre mon problème, je suppose qu'il faudrait que sur le serveur second.com, soit installé un htaccess avec un url-rewriting du style :

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^second.no-ip.org$    www.premier.com  [L]
# le L n'est peut-être pas nécessaire pour une redirection externe.


Mais je n'ai pour l'instant pas accès au serveur second.com.

Cela confirmerait les infos que j'ai collectées jusque là : il faut réécrire cette adresse en agissant sur le serveur second.com.

Quelqu'un pourrait me confirmer ? Je transmettrais au client.

Merci d'avance à tous les participants Smiley cligne
Modifié par nonoseki (02 Mar 2013 - 23:15)
Une autre idée :
Si les liens du site 2 étaient gérée à partir de variables ?v= sans URL et un Parseur au niveau ou inclut à index.php (site 2).
Tu peux alors reprendre les variables dans ton parseur et changer tes includes.

Ceci au cas ou ta solution (URL rewriting), qui me semble plus propre, ne fonctionne pas d'un domaine à l'autre (mais là ça me dépasse un peu).
la première adresse affichée sur second.no-ip.org est second.no-ip.org, c'est une page d'authentification.
Lorsq'on s'est loggé, l'adresse devient second.no-ip.org/clients et ne change plus lorsqu'on change de page, ce ne sera donc pas possible.

Il faudra donc que le client fasse lui-même la réécriture de l'URL de son site second.no-ip.org auquel je n'ai pas accès.

Merci encore pour les conseils !
si le second site second.no-ip.org comporte des pages dynamiques, les solutions à base d'include ou de get_content() ne fonctionneront pas puisque ces fonctions récupèrent le résultat html de ces pages.

Ce que tu cherches à obtenir apparemment est une fonction proxy sur le serveur 1, c'est réalisable en php, par exemple avec GLYPE.