Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

[Astuce] Virtual Hosts et Développement

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Didier_S
WRInaute passionné
WRInaute passionné

Inscrit le: 24 Aoû 2004
Messages: 561
Localisation: Paris

URL permanente de ce messagePosté le : Mar Oct 18, 2005 8:40    Sujet du message: [Astuce] Virtual Hosts et Développement

Les Virtual Hosts sont une option de configuration d'Apache, qui peut d'avérer très pratique lors du développement d'un site (et indispensable lors du développement parallèle de plusieurs sites).
Qui ne s'est jamais pris la tête sur des includes par exemple, quand la version locale est située sur http://localhost/site1/ et la version en ligne sur http://www.site1.com/ ? Cette différence de profondeur, d'un répertoire, peut-être un vrai casse-tête dans le cadre d'un site dynamique avec de nombreux include.
Le principe est le suivant: vous allez attribuer à chacun de vos sites en chantier un nom de domaine, exactement de la même forme que l'adresse définitive à laquelle sera accessible vote site, à une nuance près. Pour ma part, j'ai choisi de remplacer l'extension du domaine par ".dev".

Par exemple, si la racine de votre serveur Apache est dans c:/apache/www , et que vous développez pour www.site1.com et www.site2.com, il faudra ajouter ces lignes à votre fichier httpd.conf pour configurer vos virtual hosts :

Code:

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
  ServerName www.site1.dev
  DocumentRoot "c:/apache/www/site1/"
</VirtualHost>

<VirtualHost 127.0.0.1>
  ServerName www.site2.dev
  DocumentRoot "c:/apache/www/site2/"
</VirtualHost>


A ce stade, votre serveur Apache sait que lorsque vous demandez www.site1.dev, il doit servir les documents situés dans c:/apache/www/site1/.
Mais www.site1.dev n'est pas un nom de domaine existant, et vous obtiendrez donc une erreur DNS "introuvable" quand vous essaierez d'y accéder.
Pour le rattacher à votre ordinateur, il vous faudra aller éditer le fichier c:\windows\system32\drivers\etc\hosts (ou /etc/hosts sous linux), et y rajouter une ligne par domaine, de sorte que votre fichier ressemble à :
Code:

127.0.0.1       www.site1.dev
127.0.0.1       www.site2.dev

Ce fichier sert à indiquer une liste de domaines et leurs adresses IP. A la base, son utilité est de nommer les différentes machines du réseau (par exemple: "192.168.0.10 routeur").
Maintenant, votre ordinateur sait que www.site1.dev est une adresse locale, et apache sait que cette url correspond au répertoire c:\apache\www\site1\. Fini le http://localhost/site1/ !

Pour savoir quel nom de domaine a été appelé par le navigateur, on dispose en PHP de la variable $_SERVER['SERVER_NAME']. Personnellement, je définis deux constantes :
Code:

$sServer = $_SERVER['SERVER_NAME'];
if (strpos($sServer, '.dev')) {
   define('ROOT_DIR', 'c:\apache\www\site1\');
   define('ROOT_URL', 'http://www.site1.dev/');
} else {
   define('ROOT_DIR', '/home/chemin/sur/le/serveur/');
   define('ROOT_URL', 'http://www.site1.com/');

J'utilise ROOT_URL dans chaque lien (ce qui donne des liens absolus, en ligne comme en local), et ROOT_DIR dans chaque include (ce qui donne aussi des chemins absolus, valables sur n'importe quelle page du site, dans n'importe quel répertoire.

L'utilité peut ne pas sembler évidente au premier abord, mais croyez moi, ceux qui y goûtent n'en reviendront pas Wink
 
Didier_S Visiter le site web du posteur
fredsoft
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 26 Jan 2003
Messages: 242

URL permanente de ce messagePosté le : Mar Oct 18, 2005 9:01    Sujet du message: [Astuce] Virtual Hosts et Développement

moi je fait comme cela..

if(substr(php_uname(),0,7)=="Windows")
{
$diskpath="d:/web/xxx";
}
else
{
$diskpath="/home2/xxx/public_html";
}

sympa aussi non ?
 
fredsoft
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort