[Réglé] Pointer le sous-domaine www sur le dossier /www/ ?

Nouveau WRInaute
Bonjour,

J'ai un compte en mutualisé administré avec DirectAdmin.

Comme vous le savez c'est la racine du compte ( (...)/public_html/ ) qui est lue quand on demande -http://www.mysite.tld/ .
Si je mets mon site principal à la racine du compte et que j'ai quelques sous-domaines, je vais me retrouver avec tous les fichiers et dossiers du site principal mélangés aux dossiers racines des sous-domaines. Oui, car les dossiers racines des sous-domaines sont créés dans le dossier public_html. Pour la maintenance, je n'aime pas beaucoup cette perspective d'avoir une pagaille de répertoires au même niveau qui n'ont rien à faire les uns avec les autres. :(

Donc, j'aimerais mettre mon site principal dans un dossier (...)/public_html/www/ de façon à avoir :

/www/
/subdomain1/
/subdomain2/
/subdomain3/
...

Là c'est propre...

Je veux ensuite faire pointer -www.mysite.tld dans (...)/public_html/www/. Sans que cela se voit dans la barre d'adresse. ;)

J'ai essayé de forcer la lecture du répertoire /www/ en (re)créant le sous-domaine -www.mysite.tld dans DirectAdmin, mais à l'évidence cette manoeuvre n'a aucun effet.

Pour le moment, j'ai fait une redirection (.htaccess) de -http://www.mysite.tld/ vers -http://mysite.tld/www/ , mais je ne souhaite pas laisser ça tel quel. :D

Sauriez-vous me dire ce qu'il me faut faire pour que le sous-domaine www pointe sur le dossier /www/ ? Et que ça soit invisible dans la barre d'adresse évidemment.

Merci.
 
Nouveau WRInaute
Vraiment personne pour m'aider ?

Moi, à part faire des erreurs 500 et des boucles infinies de redirections, je n'arrive à rien. :cry:
 
WRInaute occasionnel
je ne sais pas trop,

le répertoire WWW est définit je suppose par l'hergeur ( dans apache) et tu ne dois pas y avoir accès
 
WRInaute accro
Ben avec du rewriting ça doit être faisable je pense (même si je ne vois pas trop l'utilité), poste dans le forum concerné.
Ca doit être un truc du genre "RewriteRule ^(.*$ www/$1", mais j'y connais rien donc bon :lol:.
 
Nouveau WRInaute
Si tu ne vois pas trop l'utilité, c'est que tu n'as pas compris ce que j'ai expliqué. ;) Après chacun s'organise comme ça l'arrange hein. :)

J'ai essayé tout et n'importe quoi avec le .htaccess, mais je n'arrivais à rien.
Des heures de tests, des dizaines (centaines ?) de tests, des tonnes de lectures avalées pour bah pas grand chose. A part des erreurs 500 et des boucles infinies de redirections, je ne savais plus faire grand chose.

Et là... Une sorte d'éclair de génie m'a foudroyé (ça ne fait pas trop mal, je vais bien ;) ).

Alors pour le bonheur de ceux que ça intéresse, la voilà la solution :

Directives à inclure dans un .htaccess posé à la racine du compte.

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteRule !^(www|other|excluded|folders)(/.*)?$ www%{REQUEST_URI} [L]

Avec ça, pas de boucle infinie et la redirection ne se voit pas dans la barre d'adresse. Donc on a bien le sous-domaine www qui se comporte comme n'importe quel autre sous-domaine. :)
De plus, on peut choisir le répertoire (pas forcément /www/). Et c'est applicable à n'importe quel sous-domaine (ou même à mysite.com, sans rien devant) à condition de faire la bonne RewriteCond.

Raaaah Lovely ! :D
 
Nouveau WRInaute
Je suis passé plusieurs fois sur ce site avant de trouver réponse en revenant à la base...

A tout hasard donc, je poste ce qui a marché pour moi;
A savoir vérifier la configuration d'apache:

- Dans /etc/apache2/sites-available/default pour apache2 (sur mon serveur en tout cas)
Dans les balises répertoire <Directory /> et <Directory /var/www/>

Il faut mettre
Code:
AllowOverride All
à la place de
Code:
AllowOverride None

- Puis vérifier dans le fichier des config de modules -> /etc/apache2/mods-enabled/php5.load pour apache2
Il faut ajouter ou décommenter
Code:
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c
NB: Pour mon cas je n'ai pas eu besoin de la dernière ligne (ces lignes ont été reprise d'un autre post sur webrankinfo)
NB2: Par contre, pour mod_rewrite.so j'ai du préciser le chemin complet (non relatif)
Ce qui a donné: /usr/lib/apache2/modules/mod_rewrite.so)

En espérant que ça aide quelqu'un
 
Discussions similaires
Haut