Utiliser la même url pour un site local et en ligne

Fermé
Quent - Modifié le 26 août 2019 à 16:53
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 27 août 2019 à 09:13
Bonjour,
j'aimerai créer un site web en local sur mon pc mais qui soit accessible depuis l'url d'un site existant.
J'ai donc créer un nouveau host avec apache et ajouté une ligne dans mon fichier hosts pour redirigée l'url vers 127.0.0.1.
Jusque là tout fonctionne bien, mais j'aimerai pouvoir switcher facilement entre mon site local et le vrai site et c'est là que les choses se corsent.
J'ai créer une commande pour pouvoir passé de l'un à l'autre. Pour passer sur la version locale par exemple j'ai ça :
#!/bin/bash
sudo sed -i "s/#127.0.0.1\twww.site.fr/127.0.0.1\twww.site.fr/g" /etc/hosts
sudo a2ensite site.conf
sudo systemctl reload apache2

La première ligne permet de décommenter la ligne dans le fichier hosts et les 2 suivantes d'activer le site avec apache.
Quand je vérifie, tout est modifié correctement, mais quand je retourne sur firefox, j'accede toujours à la version en ligne et je dois attendre lontemps avant que les modifications soient prises en compte. Ca fait la même chose quand je veux retourner sur la version en ligne même si j'ai l'impression que c'est un peu plus rapide dans l'ensemble.
Je me suis dit que c'était peut-être dû au cache dns donc j'ai passé à 0 la ligne network.dnsCacheExpiration dans about:config mais ça ne change rien.

Merci d'avance à ceux qui prendront le temps de me répondre
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
26 août 2019 à 17:47
Salut,

J'ai du mal à saisir la finalité de la chose ???

C'est plus simple de laisser ton site local associé à ton localhost (nom et IP de ton PC) et la véritable URL pour le site en ligne… Non ? ;-\

Sans compter que
sed -i "s/#127.0.0.1\twww.site.fr/127.0.0.1\twww.site.fr/g"
est un poil surfait ;-\

sed '/127.0.0.1/{s/#//}'
pour l'enlever et
sed '/127.0.0.1/{s/^/#/}'
pour le remettre ;-)

0
Bonjour,
Merci pour votre réponse.

En fait dans le code du site il y a plusieurs endroits avec l'url du site notamment dans le fichier .htaccess donc il faut changer tous les endroits avec l'url quand je met le site en ligne pour que ça fonctionne et je voulais éviter ça. En plus on est plusieurs à coder donc c'est vraiment compliqué de modifier pour tout le monde à chaque fois que quelqu'un fait une modification. C'est pour ça que je trouvais plus simple d'utiliser la même url.

Pour le sed, je ne connais pas très bien cette commande et je n'ai pas encore pu tester votre proposition, mais je trouve bizarre que le nom du site n'apparaisse pas, parce que j'ai plusieurs lignes dans mon fichier hosts qui sont rédigés vers 127.0.0.1 mais je ne veux modifier que la ligne du site en question sans toucher au reste.
0
Judge_DT Messages postés 29395 Date d'inscription vendredi 5 février 2010 Statut Modérateur Dernière intervention 23 octobre 2021 9 656
27 août 2019 à 09:09
Dans ce cas, c'est du relatif qu'il faut utiliser dans le code...

En principe, le relatif sera le même pour tout le monde, si le projet est codé de la même manière partout, le code pourra être manipulé d'un côté ou de l'autre, sans que personne n'ait à modifier quelque fichier que ce soit... Sauf peut être quelques lignes de conf, propre à chaque machine ou environnement de dev :-)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
27 août 2019 à 09:13
S'il y a plusieurs IP localhost, la commande s'écrira :
sed '/127.0.0.1.*site\.fr/{s/#//}'
et idem pour l'autre.
0