Bonjour à tous,

Je fais appels aux pointures qui fréquentent ce forum car je bloque sur un problème qui commence à me rendre fou et que je n'arrive pas à comprendre ni résoudre.

Je viens d'installer un serveur Apache sur mon serveur Windows 2003 qui va devoir héberger trois sites.
Dans le dossier 1 "C:/www/dev/dossier1/" j'ai la partie commerciale d'un site.
Dans le dossier 2 "C:/www/dev/dossier2/" j'ai la partie extranet qui sera accessible par les trois sites.

Dans le dossier 2 j'ai un .htaccess qui va réécrire tous mes URLs de manière assez simple, exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
RewriteRule ^page/$ page.php [L]

Pour tester ca en local dans mon fichier host de Windows je fais le lien entre ma future adresse internet et l'adresse ip de mon serveur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
192.168.1.106     www.monsite.com
Je créé un Virtual Host dans mon httpd-vhosts.conf :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
NameVirtualHost *:80

<VirtualHost *:80>
	ServerName www.monsite.com
	ServerAlias monsite.com *.monsite.com
	DocumentRoot "C:/www/dev/dossier1/"
	Alias /extranet/ "C:/www/dev/dossier2/"
</VirtualHost>

Si j'accède à http://www.monsite.com, j'ai bien l'index de mon DocumentRoot, jusqu'ici tout va bien.

Si j'accède directement à la page http://www.monsite.com/extranet/page.php sans passer par l'URL Rewriting ca fonctionne bien.

Par contre si j'accède à http://www.monsite.com/extranet/page/ il me renvoi une erreur 404 en me disant :
Not Found. The requested URL /www/dev/dossier2/page.php was not found on this server.

Donc j'ai l'impression qu'il essaye de chercher page.php dans le dossier : c:/www/dev/dossier1/www/dev/dossier2/. Mais pourquoi veut il aller chercher cette page dans le dossier du DocumentRoot alors qu'elle est censée se trouver dans le dossier de l'alias "extranet" ?

J'ai fait un test en remplaçant dans la définition du Virtual Host la ligne :
DocumentRoot "C:/www/dev/dossier1/"
par
DocumentRoot "C:/www/dev/"
et quand je retente d'accéder à http://www.monsite.com/extranet/page/ là tout fonctionne bien !

Donc je ne comprends pas du tout pourquoi l'accès a une page qui a été réécrite est différent quand le dossier vers lequel pointe l'Alias se trouve en dehors du DocumentRoot !

J'espère avoir donné tous les éléments nécessaires à la bonne compréhension de mon problème. En espérant que quelqu'un ait déjà rencontré ce comportement et puisse me donner une solution pour régler ca.

Merci d'avance et bonne soirée !

Sylvain