J'aimerais, grace à mon fichier htaccess et aux expressions régulières attribuer un nom de domaine à chaque client :
CLIENT 1 :
nvodomaine.com/rubrique1.php (qui donne accès à monsite.com/index.php?compte=client1&page=rubrique1)
nvodomaine.com/rubrique2.php (qui donne accès à monsite.com/index.php?compte=client1&page=rubrique2)
nvodomaine.com/rubrique3,sousrubrique2.php (qui donne accès à monsite.com/index.php?compte=client1&page=rubrique3&souspage=sousrubrique2)
...
C'est là ou je bloque.
Sur l'interface de mon hébergement, je peux attribuer un sous dossier de mon espace web à un domaine, pas de soucis (il prendra comme page par défaut l'index.php du sous dossier comme page d'accueil), mais ce que j'aimerais c'est qu'il prenne par défaut l'index.php avec mes variables GET.
Il faudrait en fait que je fasse pour le client1 qqe chose du style :
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 27 oct. 2010 à 10:25
Ben tu prends le problème à l'envers. Tu n'es pas le seul, il y a eu une question similaire il y a quelques jours à peine.
Tu ne rediriges pas vers le domaine du client, mais le domaine du client doit correspondre à une URL avec des variables GET.
Autrement dit, tu ne dois pas rediriger
/index.php?compte=client1&page=([0-9a-zA-Z_]+)&souspage=([0-9a-zA-Z_]+)
vers
http://www.nvodomaine.com/$1,$2.htm
Mais réécrire
http://www.nvodomaine.com/$1,$2.htm
comme étant l'URL
/index.php?compte=client1&page=([0-9a-zA-Z_]+)&souspage=([0-9a-zA-Z_]+)
En fait, y'a même pas besoin de RewriteCond, au temps pour moi.
Dans le fichier de configuration de chaque domaine, il suffit de :
La question qu'il faut se poser est la suivante : quelle est l'adresse que je souhaite avoir dans le navigateur ? => c'est le premier argument de RewriteRule
La deuxième question est : à quoi est-ce que je souhaite qu'elle corresponde pour que les variables puissent être comprises par le serveur ? => c'est le deuxième arugment de RewriteRule
Il faut bien distinguer le domaine, qui n'est qu'une adresse dans une barre du navigateur, et les fichiers physiques sur le disque dur du serveur. C'est pour cette raison qu'il faut mettre cette règle de réécriture dans le fichier de configuration de CHAQUE Vhost Apache, c'est à dire dans le fichier de configuration de CHAQUE domaine que tu héberges : le .htaccess est commun à tous les domaines, puisque c'est un fichier physique. Les règles de réécriture dans les fichiers de conf des vhosts sont, elles, propres à chaque domaine : inutile alors de vérifier le nom du domaine ou quoi, tu le connais forcément, puisque c'est le même que la directive ServerName ou ServerAlias.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
djew
Messages postés30Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention27 octobre 2010 27 oct. 2010 à 10:46
Merci pour cette explication très claire et très complète.
Cependant, je possède un espace web 1&1 mutualisé.
Donc est-ce que je peux modifier le fichier de configuration de chaque Vhost Apache ?
Vous n’avez pas trouvé la réponse que vous recherchez ?