Apache racine repertoire virtuel

WRInaute occasionnel
Bonjour a tous.

Je voudrais faire tourner mon site (www) en local. j'avais pas de pb avant qd il etait a la racine de mon repertoire www (apache).
maintenant j'ai plusieurs site et je voudrais creer des repertoire virtuels.
ca j'y arrive. j'ai cree avec WAMP un truc du genre

Code:
Alias /pierrot25/ "C:/Users/pierre/perso/www/pierrot25/" 

<Directory "C:/Users/pierre/perso/www/pierrot25/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
</Directory>

je peux accéder a mon index (-http://localhost/pierrot25/) mais ensuite tous mes liens sont morts. ils sont censés partir de la racine de mon site (par exemple <a href="/blog/index.php"> ) mais en fait les liens au lieu de pointer vers -http://localhost/pierrot25/blog/index.php pointent vers -http://localhost/blog/index.php !!

comme si le chemin vers la racine était toujours -http://localhost/ au lieu d'être -http://localhost/pierrot25/

je voudrais pas changer tous mes liens puisque j'ai mon site sur plusieurs machines et c'est galere.
c'est juste un probleme de config de la nouvelle racine du repertoire virtuel non ? vous savez ou je peux changer ca, je trouve pas ?
merci d'avance.
 
WRInaute accro
ben oui, c'est normal que la racine soit sur localhost et pas sur un sous-répertoire.
Le mieux est de faire
Code:
<VirtualHost *:80>
  ServerAdmin mon-email@maison.moi
  DocumentRoot "C:/Users/pierre/perso/www/pierrot25/"
  ServerName ww.pierrot25.com
</VirtualHost>
et comme cela, tu pourras accéder directement à ton site par ww.pierrot25.com
 
WRInaute occasionnel
Leonick a dit:
ben oui, c'est normal que la racine soit sur localhost et pas sur un sous-répertoire.
Le mieux est de faire
Code:
<VirtualHost *:80>
  ServerAdmin mon-email@maison.moi
  DocumentRoot "C:/Users/pierre/perso/www/pierrot25/"
  ServerName ww.pierrot25.com
</VirtualHost>
et comme cela, tu pourras accéder directement à ton site par ww.pierrot25.com

je comprends pas bien, si je fais ca et que je veux avoir un autre site dans un autre repertoire virtuel, comment je ferai ?
moi je veux juste des adresses comme ca :
-http://localhost/pierrot25/ avec comme racine du site -http://localhost/pierrot25/ (et non -http://localhost/)
et pour un autre site : -http://localhost/site2/ (avec comme racine -http://localhost/site2/)

c'est possible ?
 
WRInaute impliqué
nop ce qui définit le "/" est le "document_root"
document_root est une propriété que tu peux définir pour tout ton serveur ou alors pour un virtual host précis
si tu veux utiliser des répertoires virtuels il faut que ton applicatif travail en relatif
 
WRInaute occasionnel
julienr a dit:
nop ce qui définit le "/" est le "document_root"
document_root est une propriété que tu peux définir pour tout ton serveur ou alors pour un virtual host précis
si tu veux utiliser des répertoires virtuels il faut que ton applicatif travail en relatif

justement c'est ca que je veux changer. pour l'instant mon document_root root pointe sur www (soit -http://localhost/) mais je ne trouve pas ou le changer quand je crée des répertoires virtuels.

tu peux me donner un exemple stp ou me dire ou c'est ? je pensais que c'etait en creant l'alias. pour moi
Code:
Alias /pierrot25/ "C:/Users/pierre/perso/www/pierrot25/"
sufisait a dire que la racine de -http://localhost/pierrot25/ etait physiquement ici "C:/Users/pierre/perso/www/pierrot25/" !

(mon site est tout en relatif (enfin je veux dire que les liens partent de la racine du site)
du genre dans la page index j'ai : /blog/index.php pour aller sur mon blog, /cv/index.php pour aller sur mon CV etc.)
 
WRInaute accro
Pierrot25 a dit:
du genre dans la page index j'ai : /blog/index.php pour aller sur mon blog, /cv/index.php pour aller sur mon CV etc.)
c'est le contraire de ce que tu demandes là, non ?
Pierrot25 a dit:
moi je veux juste des adresses comme ca :
-http://localhost/pierrot25/ avec comme racine du site -http://localhost/pierrot25/ (et non -http://localhost/)
et pour un autre site : -http://localhost/site2/ (avec comme racine -http://localhost/site2/)
 
WRInaute occasionnel
Leonick a dit:
Pierrot25 a dit:
du genre dans la page index j'ai : /blog/index.php pour aller sur mon blog, /cv/index.php pour aller sur mon CV etc.)
c'est le contraire de ce que tu demandes là, non ?
Pierrot25 a dit:
moi je veux juste des adresses comme ca :
-http://localhost/pierrot25/ avec comme racine du site -http://localhost/pierrot25/ (et non -http://localhost/)
et pour un autre site : -http://localhost/site2/ (avec comme racine -http://localhost/site2/)

pardon pour faire clair.
je souhaiterais des urls du type :
-http://localhost/pierrot25/index.php
-http://localhost/pierrot25/blog/index.php
-http://localhost/pierrot25/CV/index.php
(sinon mon site ne marche pas)
comme ca si j'ai un autre site, j'aurais des urls comme ca :
-http://localhost/site2/index.php
-http://localhost/site2/rep1/index.php
-http://localhost/site2/rep2/index.php
etc.

seulement tous mes liens dans mon site partent de la racine.
par exemple si je suis sur la page de mon cv (/CV/index.php) et que j'ai un lien vers mon blog, il est de la forme <a href="/blog/index.php"> et non pas <a href="../blog/index.php">

vous pouvez me dire comment faire ?

(quand je mets mon site directement dans le www, j'ai aucun pb parce que la racine du site correspond justement au www).
avec le repertoire virtuel que j'ai cree, la racine reste tjrs -http://localhost au lieu d'etre -http://localhost/pierrot25/

j'espere que c'est plus clair et que vous pourrez m'aider!
 
WRInaute impliqué
alors oubli les rép virtuel cela ne pourra pas fonctionner si tu utilises des liens absolues du type /blog
ensuite depuis le début nous avons parfaitement compris ta problématique :)
leonick t'as donné la piste il faut que tu utilses des vhosts
ensuite si c'est en local tu peux inventer les noms de domaine que tu veux du moment que tu les déclares dans le fichier de hosts de windows :
C:\WINDOWS\system32\drivers\etc\hosts

exemple :
127.0.0.1 site1.monlocalhost.com
127.0.0.1 site2.monlocalhost.com

<VirtualHost *:80>
ServerAdmin mon-email@maison.moi
DocumentRoot "C:/Users/pierre/perso/www/site1/"
ServerName site1.monlocalhost.com
</VirtualHost>

<VirtualHost *:80>
ServerAdmin mon-email@maison.moi
DocumentRoot "C:/Users/pierre/perso/www/site2/"
ServerName site2.monlocalhost.com
</VirtualHost>

et ainsi de suite.........
 
WRInaute occasionnel
merci Julien, je vais essayer comme ca.
je ne comprend pas a quoi servent les repertoires virtuels dans ce cas mais bon, si c'est la seule maniere...

bon, juste une derniere question
<VirtualHost *:80>
ServerAdmin mon-email@maison.moi
DocumentRoot "C:/Users/pierre/perso/www/pierrot25/"
ServerName pierrot25.localhost.biz
</VirtualHost>

CA SE MET OU ?
hosts? httpd.conf ? DMC ? :lol:
 
WRInaute occasionnel
Pierrot25 a dit:
merci Julien, je vais essayer comme ca.
je ne comprend pas a quoi servent les repertoires virtuels dans ce cas mais bon, si c'est la seule maniere...

bon, juste une derniere question
<VirtualHost *:80>
ServerAdmin mon-email@maison.moi
DocumentRoot "C:/Users/pierre/perso/www/pierrot25/"
ServerName pierrot25.localhost.biz
</VirtualHost>

CA SE MET OU ?
hosts? httpd.conf ? DMC ? :lol:

bon je viens d'essayer dans le httpd.conf puisque c'est la que ca me parait le plus judicieux mais ca ne marche pas.
quand je tape -http://pierrot25.localhost.biz/ ds mon navigateur j'arrive sur ma page d'accueil de WAMP (la meme que qd je fais -http://127.0.0.1)

ou j'ai merde?
merci
 
WRInaute occasionnel
lol cette fois y'a du mieux mais j'ai :

Forbidden

You don't have permission to access / on this server.
 
WRInaute occasionnel
j'ai ca dedans :

[Thu May 31 13:30:56 2007] [error] [client 127.0.0.1] client denied by server configuration: C:/Users/pierre/perso/www/pierrot25/

c'est un pb d'acces sur le repertoire ? droits microsoft (j'ai vista)
avec IIS il faut donner acces au I_USER mais avec apache je sais pas !

pr infos j'ai bien un fichier index.php dans pierrot25/
 
Discussions similaires
Haut