Sous domaines virtuels

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Dorianfr
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 19 Mai 2008

Sous domaines virtuels

Message le Lun Mai 19, 2008 11:31

Bonjour,

J'essaye depuis plusieurs semaines de créer un site avec la possibilité pour les membres de créer une page en sous domaine du type http://nomdumembre.monsite.net

Pour cela, voici mon .htaccess :

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

# redirection des sous-domaines
RewriteCond %{REQUEST_URI} !^/var/www/vhosts/monsite.net/httpdocs
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+).([^.]+)$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)$ /var/www/vhosts/monsite.net/httpdocs/page.php

# fix trailing slash
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [L]


Les sous domaines fonctionnent sans problème mais il semblerait qu'ils ne puissent pas lire le PHP.

La page "page.php" contient le code suivant:
Code: Tout sélectionner
<?PHP echo("TESTOK!"); ?>
alors que, lorsque je vais sur http://test.monsite.net, la page est blanche ...

Le plus surprenant est que lorsque je vais sur http://monsite.net, la page affiche bien "TESTOK!" ...

Je ne comprends pas trop pourquoi ... Merci d'avance pour votre aide.

Bonne journée.

Dorian.


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Lun Mai 19, 2008 15:13

ta condition sur http_host est étrange. je vois bien à la place :
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

# redirection des sous-domaines
RewriteCond %{REQUEST_URI} !^/var/www/vhosts/monsite.net/httpdocs
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ /var/www/vhosts/monsite.net/httpdocs/page.php

# fix trailing slash
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [L]

si tu veux une condition pour avoir http_host du style *.*.* ou *.* il faut mieux l'écrire avec :
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^(([^.]+)\.)?([^.]+)\.([^.]+)$ [NC]

Dorianfr
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 19 Mai 2008

Message le Lun Mai 19, 2008 17:02

Merci pour ta réponse. J'ai essayé ce que tu as écris mais j'ai le même résultat qu'avec mon code : les pages des sous domaines comme http://test.monsite.net restent blanches ... sauf le http://monsite.net qui affiche "TESTOK!". Je tiens à rajouter que c'est seulement le PHP qui n'est pas lu car j'ai essayé de mettre "TESTOK!" en HTML et ca fonctionne sans problème pour tous les sous domaines. Merci encore et bonne soirée.


loran750
WRInaute passionné
WRInaute passionné
 
Messages: 2237
Inscription: 15 Mar 2005

Message le Lun Mai 19, 2008 17:06

Si les admins me le permettent, j'ai posé la question sur le forum d'OVH il y a qqs jours :

-http://forums.ovh.com/showthread.php?t=34890

voilà si ça t'aide. Pour ma part, je n'ai pas eu le temps de tester.

Lolo

Dorianfr
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 19 Mai 2008

Message le Lun Mai 19, 2008 17:31

Merci loran750 pour ta réponse mais mon problème n'est pas identique au tiens : je cherche à configurer mon serveur de manière à ne pas créer les sous-domaines (ils seraient donc virtuels) par exemple : lorsqu'on irait sur http://tintin.monsite.net on visualise le contenu de http://www.monsite.net/page.php?pseudo=tintin

Merci pour votre aide.


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Lun Mai 19, 2008 17:42

pour -http://monsite.net les conditions sur http_host ne sont pas pas vérifiée : il ne passe pas donc par la réécriture.
il me semble que c'est le chemin qui n'est pas bon. je mettrais le chemin relatif par rapport au DOCUMENT_ROOT qui doit être /page.php

Dorianfr
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 19 Mai 2008

Message le Mar Mai 20, 2008 20:46

Bonsoir,

J'ai fais plusieurs tests avant de poster ce message (modification du virtualhost et du .htaccess) mais toujours le même problème.

Je ne vois pas trop ce que tu veux dire par "le chemin relatif par rapport au DOCUMENT_ROOT qui doit être /page.php" ... il faudrait que je modifie mon .htaccess ?

Au passage, voici le virtualhost en place sur mon serveur (si cela pouvait aussi venir de la) :

Code: Tout sélectionner
<VirtualHost IPDUSERVEUR:80>
    DocumentRoot /var/www/vhosts/monsite.net/httpdocs
    ServerName monsite.net
    ServerAlias *.monsite.net
</VirtualHost>


Merci encore pour votre aide. Bonne soirée

Dorian.


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mar Mai 20, 2008 21:09

le chemin qui doit être mis dans les rewriterule doit être le chemin par rapport à celui donnée avec DocumentRoot (répertoire racine du domaine).
il faut donc supprimer /var/www/vhosts/monsite.net/httpdocs de tes rewriterule
tu peux aussi supprimer la ligne avec RewriteCond %{REQUEST_URI}

Dorianfr
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 19 Mai 2008

Message le Mar Mai 20, 2008 22:07

Re,

Merci pour tes conseils que j'ai suivi à la lettre mais j'ai malheureusement le même résultat ...

Le code suivant donne une "Internal Server Error" :
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

# redirection des sous-domaines
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+).([^.]+)$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)$ /page.php

# fix trailing slash
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [L]


J'ai donc modifié le "/page.php" en "page.php" qui ramène au même résultat qu'avant: le PHP n'est pas supporté.

Dorianfr
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 19 Mai 2008

Message le Mer Mai 21, 2008 17:38

Bonsoir,

J'ajoute une petite précision à mes posts: je suis sur un dédié chez OVH.

Voila, merci et bonne soirée à tous.


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mer Mai 21, 2008 19:56

as-tu essayé de supprimer le "?" dans la condition sur http_host? Je ne comprends pas pourquoi il serait facultatif surtout si c'est un sous-domaine.

Dorianfr
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 19 Mai 2008

Message le Ven Mai 23, 2008 17:05

Bonjour,

Je viens d'essayer de supprimer le "?" mais ça ne fonctionne toujours pas.

J'ai aussi essayé d'ajouter une entrée CNAME dans la zone DNS du type *.monsite.net CNAME monsite.net mais les sous domaines sont maintenant en "Serveur introuvable" donc j'ai vite supprimé cette entrée.

Je ne sais plus trop ou me diriger maintenant.

Merci et bonne fin de journée.

Dorian.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité