Aller au contenu

Sous-domaines et includes


Sujets conseillés

Posté

Bonsoir,

J'ai appris récemment que l'utilisation de sous-domaines est bonne pour:

1. Les internautes qui peuvent accéder ainsi directement à une partie du site

2. Le référencement (google utilisant lui-même ces sous-domaines, il n'y voit à prioiri pas de spam...)

Mais si on fait pointer le sous-domaine directement vers l'URL de la page, cela pose des problème car les includes php ne sont pas trouvés...

Soit l'arborescence suivante:

MAIN = site principal www.tototititata.fr

|

|-------ACTU = sous domaine actu.tototititata.fr

|

|-------FORUM = sous domaine forum.tototititata.fr

|

|-------images = contient les fichiers images

|

|-------inc = contient des includes php

etc..

Techniquement, si les sous-domaines pointent directement sur les sous répertoires "actu" et "forum", le chemins d'accès au répertoire "inc" ne sera pas valide... ce qui veut dire que la page forum: http://www.tototititata.fr/FORUM/forum.php fonctionnera, mais que http://forum.tototititata.fr/forum.php ne fonctionnera pas si elle utilise des fichiers includes du répertoire "inc".

Quelqu'un a-t-il déjà rencontré ce type de problème ?

Merci d'avance.

Mona.

Posté

As-tu essayé en précisant le chemin absolu dans ton include au lieu des chemins relatifs ?

A mon avis la variable $_SERVER["DOCUMENT_ROOT"] devrait pouvoir faire l'affaire ;)

Perso, je n'ai pas beaucoup utilisé les sous-domaines, donc je ne peux pas en dire plus.

Posté

Je ne me prononcerais pas sur l'utilité de faire des sous-domaines :rolleyes: mais en ce qui concernes les includes, il faut les faire en adresse serveur (il faut oublier le http pour les include... il faut raisonner en tant que serveur).

Donc le chemin doit être de la forme :

Adresse absolue depuis la racine du serveur : par ex. : /home/mondomaine/www/..../inc

ou en adresse relative, par ex. : ../../autredom/inc/

C'est exactement la même situation que d'avoir un include commun à plusieurs domaines sur un même serveur.

Posté

Oui... C'est ce que je fais:

Par exemple:

include($_SERVER['DOCUMENT_ROOT']."/assistance-informatique/assistance-informatique.php");

Si je fais afficher la valeur, le chemin est correct. Pourtant, la fonction "include" ne fonctionne pas ... :(

Mona.

Posté

Bonjour,

Je reviens sur mon problème... En fait, j'ai identifié la cause...

La variable $_SERVER['DOCUMENT_ROOT'] ne renvoie pas la même chose selon qu'on se trouve sur le domaine (dossier principal) ou un sous-domaine (sous-dossier).

Exemple:

sur l'URL du domaine principal, cela renvoie quelque chose comme /srv/htdocs/maindomain

sur l'URL du sous-domaine, cela renvoie quelque chose comme /srv/htdocs/maindomain/actu (pour le sous-domaine actu qui pointerait sur le sous-dossier actu)

La question est donc maintenant: Quelqu'un a-t-il déjà contourné ce type de problème ??

Merci.

Mona.

Posté

Si t'as access au php.ini, il suffit simplement de rajouter le repertoire de tes include inc dans la liste des repertoire chercher pour les include.

Ensuite

require('mon_fichier.inc');

C'est ce que je fais sur tous mes sites.

Si tu n'y a pas acces, il te suffira de rajouter un ch'tit code qui inclus ../ si tu es dans un sous domaine.

A+

Lolo

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...